2012-04-28 7 views
2

장고 등록 활성화 워크 플로를 설정하려고합니다. 사용자가 활성화 링크를 누르면 로그인 페이지로 리디렉션되고 장고 메시지 지금, 나는 success_url 매개 변수를 사용하여 다시 홈페이지로 사용자를 보낼 관리했습니다장고 등록 활성화 django.contrib.messages로 리디렉션

프레임 워크 django.contrib.messages : '/' 홈 로그인 전망이다

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

. 그 길을 따라 어딘가에 성공 메시지를 설정해야합니다. 아마도 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 파일을 가리