2012-04-28 9 views
2

私はdjango登録アクティベーションワークフローを設定しようとしています。ユーザーがアクティベーションリンクをクリックすると、ログインページにリダイレクトされます。 '/'がホームログイン図であるDjango-Registration Activation django.contrib.messagesでリダイレクト

url(r'activate/(?P<activation_key>\w+)/$', 
    activate, 
    {'backend': 'registration.backends.default.DefaultBackend', 'success_url':'/'}, 
     name='registration_activate', 
    ), 

:ジャンゴメッセージフレームワークdjango.contrib.messages

は今のところ、私はsuccess_urlパラメータを使用して戻ってホームページにユーザーを送信するために管理してきました。私は途中で成功メッセージを設定する必要があります...おそらくextra_contextフィールドを使用していますか?

答えて

4

ジャンゴ登録は、いくつかのポイントをフックするusing signalsです。あなたのケースでは、のようなものでなければなりません:

from registration import signals 
def register_handler(request, **kwargs): 
    messages.success(request, 'Thank you!') 
signals.user_registered.connect(register_handler) 
0

ilvarの応答は、おそらくそれを行うには良い方法ですが、私はまた、ジャンゴ登録ビュー周囲のビューをラップすることによって作業得ることができました。

class Custom_Activation_View(TemplateView): 
     template_name='home.html' 

     def get(self, request, backend, success_url=None, extra_context=None, **kwargs): 
      messages.success(self.request, 'Activation complete, please login below') 

      return activate(self.request, backend, template_name=self.template_name, success_url='/', extra_context=None, **kwargs) 
urls.py

私は今、私の新しいビュー

url(r'^accounts/activate/(?P<activation_key>\w+)/$', 
     Custom_Activation_View.as_view(), 
     {'backend': 'registration.backends.default.DefaultBackend'}, 
     name='registration_activate'), 

と私のviews.pyファイル内にポイント

関連する問題