Mi chiedo solo dove posso impostare l'URL a cui reindirizzare dopo il logout. So che puoi impostare l'URL di accesso. Voglio reindirizzare alla mia home page.
Risposte:
Modern Django (2017+?) Ha un'impostazione chiamata LOGOUT_REDIRECT_URL.
Non è necessario sovrascrivere o avvolgere nulla.
Secondo i documenti, puoi semplicemente fornire l' next_pageargomento alla vista di logout.
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/'})
Un modo più semplice:
Aggiungi il parametro "successivo" all'URL della richiesta di disconnessione. Per esempio:
<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>
Quindi la vista di disconnessione farà il trucco per te.
Per il reindirizzamento dopo il login, puoi semplicemente impostarlo in settings.py:
LOGIN_REDIRECT_URL = '/path_to_the_page'
LOGIN_URL = '/path_to_the_page'
base.htmle dimenticarlo. : D (Sto usando Django vintage su Debian Jessie: S quindi le nuove impostazioni non sono disponibili.)
A partire da Django 1.10, puoi definire un LOGOUT_REDIRECT_URL( vedi la documentazione )
Puoi reindirizzare l'utente ovunque utilizzando LOGOUT_REDIRECT_URL nel tuo file setting.py
LOGOUT_REDIRECT_URL = 'url name to redirect'
Reindirizza alla pagina corrente
<a href="{% url 'logout' %}?next={{ request.path | urlencode }}">{% trans "Logout" %}</a>
Testato in Django 1.9.
Vedi anche: È possibile passare parametri di query tramite il tag template {% url%} di Django?
Nella visualizzazione della disconnessione, dopo aver disconnesso definitivamente l'utente, restituire HttpResponseRedirect (url). Si prega di vedere qui per maggiori dettagli .
Se hai definito i tuoi URL (e non gli URL di autenticazione generici importati) e stai utilizzando le viste di autenticazione django standard, puoi semplicemente aggiungerli (template_name = 'example.html') nel percorso.
path('logout/',auth_views.LogoutView.as_view(template_name='homepage.html'),name="logout")
aggiungilo nel file setting.py del progetto
LOGOUT_REDIRECT_URL = '/'
puoi scrivere il tuo URL tra "" Uso la mia pagina indice per il reindirizzamento predefinito di logout