2016-12-10 6 views
1

Djangoでバックエンドを設定している私のウェブサイトにニュースレターのサインアップを追加したいと思います。自分のサイトに送信されたときに電子メール情報を処理するにはどうしたらよいですか?電子メールのためだけに新しいモデルを作成する必要がありますか?自分のサイトに電子メールを入力して、自分のsendgridアカウントに動的に保存する方法がありますか?Django&Sendgridでメーリングリストを作成していますか?

すべてのメールキャンペーンでsendgridを使用したいのですが、モデルテーブルに保存して手動でアカウントに入力するのではなく、すぐにデータを送信したいと思っています。

+0

マーケティングキャンペーンAPI https://sendgrid.com/docs/API_Reference/Web_API_v3/Marketing_Campaigns/index.htmlですべてを直接SendGridに保存できます – bwest

答えて

0

すべてをSendgridのサーバーに保存してください。 SendgridにはPythonのAPIバインディングがあります:pip install sendgrid

  1. 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') 
    

実は、あなたは(セロリなしで)直接自分のAPIを使用することができます。しかし、この場合は、APIとの通信に余分な時間がかかるため、リクエスト処理に時間がかかることがあります。

関連する問題