【问题标题】:Django signals with shopify webhooksDjango 使用 shopify webhook 发出信号
【发布时间】:2016-05-26 07:08:59
【问题描述】:

我是 Django 信号和 Shopify webhook 的新手,但我想在项目中实现此功能。

我正在使用this package,其中还包括一组WebhookSignals,用于接收和验证Shopify webhook,但是我想用我收到的信息做一些事情(具体来说,我想处理客户信息订单并将其存储在数据库中)。

我认为我需要使用提供的信号来执行此操作,但我不太了解如何操作。到目前为止,我已经尝试在我的项目目录(连同 settings.py)中放置一个如下所示的 signals.py 文件:

from shopify_webhook.signals import orders_create

def my_callback(sender, **kwargs):
   print("Request finished!")

orders_create.connect(my_callback)

这显然行不通,但是我如何定义一个函数,当我从 Shopify 收到 webhook 时调用它?

【问题讨论】:

    标签: python django shopify webhooks django-signals


    【解决方案1】:

    对于它的价值,我建议直接在视图上使用 @webhook 装饰器,而不是用信号不必要地使事情复杂化。

    这就是您的视图的外观:

    from shopify_webhook.decorators import webhook
    from myapp.models               import AuthAppShopUser
    
    @webhook
    def orders_create(request):
        user = AuthAppShopUser.objects.get(myshopify_domain=request.webhook_domain)
        order_data = request.webhook_data
        # The rest of your view here
    

    上面的示例假设您使用django-shopify-auth 进行用户身份验证,并根据其文档设置了用户模型AuthAppShopUser。您还需要确保已将视图注册到 urls.py 中的 url 模式,并通过 Shopify API 将 webhook 注册到商店。

    【讨论】:

    • 您好 Julien,非常感谢您,这很有帮助。这也是我第一次尝试使用 webhook,我需要一些帮助。我有两个问题:1)自从开发人员停止开发后,django-shopify-webhook 包仍然可以使用吗? 2) 我在哪里输入有关 HMAC 的信息?最后,我在我的应用程序中设置了上述和所有要求。 webhook 被触发,但没有任何反应,甚至没有打印。我做错了什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    相关资源
    最近更新 更多