Question

Docs disent:

 ``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.

Comment puis-je faire?

Était-ce utile?

La solution

Vous pouvez le faire dans votre urls.py, par exemple:.

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'),

L'autre approche est de créer votre propre back-end (ce qui est plus simple que cela puisse paraître) en héritant du backend par défaut:

from registration.backends.default import DefaultBackend

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

La solution la plus simple est de nommer simplement votre modèle d'URL qui django-inscription doit utiliser registration_activation_complete. Voir Nommer les modèles d'URL dans la documentation de Django .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top