使用Django&创建邮件列表Sendgrid?

时间:2016-12-10 20:21:27

标签: python django email sendgrid

我想在我的网站上添加一个简报注册,其后端设置了Django。提交到我的网站时,我该如何处理电子邮件信息?我应该为电子邮件创建一个新模型吗?有没有办法可以将电子邮件输入我的网站,并将它们动态保存到我的sendgrid帐户?

我想在我的所有电子邮件广告系列中使用sendgrid,我希望立即将数据发送到那里,而不是保存在模型表中,然后手动将联系人输入我的帐户。

1 个答案:

答案 0 :(得分:0)

只需将所有内容存储在Sendgrid的服务器上即可。 Sendgrid具有Python的API绑定:pip install sendgrid

  1. 设置Celery或任何其他异步任务队列以在后台处理注册请求。我推荐Celery,它很好地支持与Django很好地配合。
  2. 设置任务以异步处理注册:

    # your_app/tasks.py:
    @celery.shared_task
    def newsletter_signup(email, newsletter):
        # use sendgrid API here
        pass
    
    
    # your_app/views.py
    def some_view(request):
        # do what you need, and send a sign up task whenever you want:
        newsletter_signup.delay(request.user.email, 'foobar')
        return HttpResponse('hello, world')
    
  3. 实际上,您可以直接使用他们的API(不使用Celery)。但在这种情况下,由于与API通信所花费的额外时间,请求处理将花费更多时间。