Comment configurer où redirect après une déconnexion dans Django?

Je me demande juste où je peux définir l’URL vers laquelle redirect après la déconnexion. Je sais que vous pouvez définir l’URL de connexion. Je veux redirect vers ma page d’accueil.

Modern Django (2017+?) A un paramètre appelé LOGOUT_REDIRECT_URL .

Ancien Djangos / Réponse originale

Vous n’avez pas besoin d’écraser ou d’emballer quoi que ce soit.

Selon les documents, vous pouvez simplement fournir l’argument next_page à la vue de déconnexion. https://docs.djangoproject.com/en/dev/topics/auth/default/#django.consortingb.auth.views.logout

 (r'^logout/$', 'django.consortingb.auth.views.logout', {'next_page': '/successfully_logged_out/'}) 

Un moyen plus simple:

Ajoutez le paramètre ‘next’ à votre URL de demande de déconnexion. Par exemple:

  Logout 

La vue de déconnexion fera alors l’affaire.

Pour après-login-redirect, vous pouvez simplement le définir dans settings.py:

 LOGIN_REDIRECT_URL = '/path_to_the_page' LOGIN_URL = '/path_to_the_page' 

Depuis Django 1.10, vous pouvez définir un LOGOUT_REDIRECT_URL ( voir la documentation )

Rediriger vers la page en cours

 {% trans "Logout" %} 

Testé dans Django 1.9.

Voir aussi: Est-il possible de passer des parameters de requête via la balise de modèle {% url%} de Django?

Dans votre vue de déconnexion, une fois que vous vous êtes déconnecté de l’utilisateur, retournez HttpResponseRedirect (url). S’il vous plaît voir ici pour plus de détails .

À partir de docs, vous pouvez écrire votre propre vue de déconnexion (qui peut être un simple wrapper), remplaçant la page suivante.

Si vous souhaitez définir l’URL de redirection au niveau du client, vous pouvez le faire dans l’ urls.py :

 (r'^management/logout/$', 'django.consortingb.auth.views.logout'), 

Et puis dans le template:

  Log out  

Où la next , vous pointez sur la bonne URL.

Vous pouvez même utiliser des URL nommées pour votre prochain paramètre:

  Logout 

Vous pouvez redirect l’utilisateur n’importe où en utilisant LOGOUT_REDIRECT_URL dans votre fichier setting.py

 LOGOUT_REDIRECT_URL = 'url name to redirect'