2012-04-28 72 views
2

我試圖建立我的Django的註冊激活流程,這樣,當用戶點擊激活鏈接會將其使用重定向到登錄頁面與一個可愛的小消息Django的消息框架django.contrib.messagesDjango的註冊激活重定向與django.contrib.messages

現在,我已經成功地使用success_url參數用戶發送回主頁:

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

其中'/'是家裏登錄視圖。我需要將成功消息設置在某處...可能使用extra_context字段?

回答

4

Django的登記是using signals鉤上的一些點。你的情況應該是這樣的:

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

ilvar的反應可能是一個更好的方式來做到這一點,但我也設法得到它的工作通過圍繞Django的註冊圖的圖。

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文件:

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)