Передайте success_url для активации - PullRequest
3 голосов
/ 28 сентября 2010

Документы говорят:

 ``success_url``
    The name of a URL pattern to redirect to on successful
    acivation. This is optional; if not specified, this will be
    obtained by calling the backend's
    ``post_activation_redirect()`` method.

Как я могу это сделать?

1 Ответ

7 голосов
/ 28 сентября 2010

Вы можете сделать это в вашем urls.py, например ::

url(r'^account/activate/(?P<activation_key>\w+)/$', 'registration.views.activate', {'success_url': 'registration_activation_complete'}, name='registration_activate'),
url(r'^account/activate/success/$', direct_to_template, {'template': 'registration/activation_complete.html', name='registration_activation_complete'),

Другой подход заключается в создании собственного бэкэнда (который проще, чем кажется) путем наследования от бэкенда по умолчанию:

from registration.backends.default import DefaultBackend

class MyRegistrationBackend(DefaultBackend):
    def post_activation_redirect(self, request, user):
        # return your URL here

Самое простое решение - просто назвать ваш шаблон URL, который django-registration должен использовать registration_activation_complete. См. Имена шаблонов URL в документации Django.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...