Me pregunto dónde puedo configurar la URL a la que redireccionar después de cerrar la sesión. Sé que puede configurar la URL de inicio de sesión. Quiero redirigir a mi página de inicio.
Respuestas:
Modern Django (2017+?) Tiene una configuración llamada LOGOUT_REDIRECT_URL
.
No es necesario sobrescribir ni envolver nada.
De acuerdo con los documentos, simplemente puede proporcionar el next_page
argumento a la vista de cierre de sesión.
https://docs.djangoproject.com/en/dev/topics/auth/default/#django.contrib.auth.views.logout
(r'^logout/$', 'django.contrib.auth.views.logout',
{'next_page': '/successfully_logged_out/'})
Una forma más sencilla:
Agregue el parámetro 'siguiente' a su URL de solicitud de cierre de sesión. Por ejemplo:
<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>
Entonces la vista de cierre de sesión hará el truco por usted.
Para el redireccionamiento posterior al inicio de sesión, simplemente puede configurarlo en settings.py:
LOGIN_REDIRECT_URL = '/path_to_the_page'
LOGIN_URL = '/path_to_the_page'
base.html
y olvidarlo. : D (Estoy usando Django antiguo en Debian Jessie: S, por lo que la nueva configuración no está disponible.)
Desde Django 1.10, puede definir un LOGOUT_REDIRECT_URL
( ver los documentos )
Puede redirigir al usuario a cualquier lugar utilizando LOGOUT_REDIRECT_URL en su archivo setting.py
LOGOUT_REDIRECT_URL = 'url name to redirect'
Redirigir a la página actual
<a href="{% url 'logout' %}?next={{ request.path | urlencode }}">{% trans "Logout" %}</a>
Probado en Django 1.9.
Ver también: ¿Es posible pasar parámetros de consulta a través de la etiqueta de plantilla {% url%} de Django?
En su vista de cierre de sesión, después de cerrar la sesión del usuario para siempre, devuelva HttpResponseRedirect (url). Consulte aquí para obtener más detalles .
Desde los documentos , puede escribir su propia vista de cierre de sesión (que puede ser simplemente un contenedor) anulando la página "siguiente".
Si desea establecer la URL de redirección a nivel de cliente, puede hacerlo en urls.py
:
(r'^management/logout/$', 'django.contrib.auth.views.logout'),
Y luego en la plantilla:
<a href="{% url 'django.contrib.auth.views.logout' %}?next=/">
Log out
</a>
Donde el next
, apunta a la URL correcta.
Si ha definido sus propias URL (y no las URL de autenticación genéricas importadas) y está utilizando las vistas de autenticación estándar de django, simplemente puede agregarlas (template_name = 'example.html') en la ruta.
path('logout/',auth_views.LogoutView.as_view(template_name='homepage.html'),name="logout")
agregue esto en el archivo setting.py del proyecto
LOGOUT_REDIRECT_URL = '/'
puede escribir su URL entre '' Uso mi página de índice para la redirección predeterminada de cierre de sesión