Пройти успех_url к активации
-
25-09-2019 - |
Вопрос
Документы говорят:
``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.
Как мне это сделать ?
Решение
Вы можете сделать это в вашем 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'),
Другой подход состоит в том, чтобы создать свою собственную бэкэнду (что проще, чем звучит), наследующуюся от Backend по умолчанию:
from registration.backends.default import DefaultBackend
class MyRegistrationBackend(DefaultBackend):
def post_activation_redirect(self, request, user):
# return your URL here
Самое простое решение - это просто назвать свой URL-шаблон, что Django-регистрация должна использовать registration_activation_complete
. Отказ Видеть Называть узоры URL в Django Docs.
Не связан с StackOverflow