Je me demande simplement où je peux définir l'URL vers laquelle rediriger après la déconnexion. Je sais que vous pouvez définir l'URL de connexion. Je souhaite rediriger vers ma page d'accueil.
django
authentication
DJ.MaSs
la source
la source
Un moyen plus simple:
Ajoutez le paramètre «suivant» à votre URL de demande de déconnexion. Par exemple:
<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>
Ensuite, la vue de déconnexion fera l'affaire pour vous.
Pour la redirection après connexion, vous pouvez simplement le définir dans settings.py:
LOGIN_REDIRECT_URL = '/path_to_the_page' LOGIN_URL = '/path_to_the_page'
la source
base.html
et oublier ça. : D (J'utilise Django vintage sur Debian Jessie: S donc les nouveaux paramètres ne sont pas disponibles.)Depuis Django 1.10, vous pouvez définir un
LOGOUT_REDIRECT_URL
( voir la documentation )la source
Vous pouvez rediriger l'utilisateur n'importe où en utilisant LOGOUT_REDIRECT_URL dans votre fichier setting.py
LOGOUT_REDIRECT_URL = 'url name to redirect'
la source
Rediriger vers la page actuelle
<a href="{% url 'logout' %}?next={{ request.path | urlencode }}">{% trans "Logout" %}</a>
Testé dans Django 1.9.
Voir aussi: Est-il possible de passer des paramètres de requête via la balise template {% url%} de Django?
la source
Dans votre vue de déconnexion, après avoir déconnecté l'utilisateur pour de bon, renvoyez HttpResponseRedirect (url). S'il vous plaît voir ici pour plus de détails .
la source
À partir de la documentation, vous pouvez écrire votre propre vue de déconnexion (qui peut être simplement un simple wrapper) en remplaçant la page «suivante».
la source
Vous pouvez même utiliser des URL nommées pour votre prochain paramètre:
<a href="{% url 'auth_logout' %}?next={% url 'homepage' %}"> Logout</a>
la source
Si vous souhaitez définir l'URL de redirection au niveau du client, vous pouvez le faire dans
urls.py
:(r'^management/logout/$', 'django.contrib.auth.views.logout'),
Et puis dans le modèle:
<a href="{% url 'django.contrib.auth.views.logout' %}?next=/"> Log out </a>
Où le
next
, vous pointez vers la bonne URL.la source
Si vous avez défini vos propres URL (et non importé des URL d'authentification génériques) et que vous utilisez les vues d'authentification standard de django, vous pouvez simplement les ajouter (template_name = 'example.html') dans le chemin.
path('logout/',auth_views.LogoutView.as_view(template_name='homepage.html'),name="logout")
la source
ajoutez ceci dans votre fichier de project setting.py
LOGOUT_REDIRECT_URL = '/'
vous pouvez écrire votre URL entre '' J'utilise ma page d'index pour la redirection par défaut de déconnexion
la source