How to configure where to redirect after a log out in Django?
Modern Django (2017+?) has a setting called LOGOUT_REDIRECT_URL
.
Older Djangos / Original Answer
You don't need to overwrite or wrap anything.
According to the docs, you can just supply the next_page
argument to the logout view.
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/'})
One easier way:
Add 'next' parameter to your log-out request url. For example:
<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>
Then the logout view will do the trick for you.
For after-login-redirect, you can just simply set it in settings.py:
LOGIN_REDIRECT_URL = '/path_to_the_page'
LOGIN_URL = '/path_to_the_page'
Since Django 1.10, you can define a LOGOUT_REDIRECT_URL
(see the docs)
You can redirect user anywhere by using LOGOUT_REDIRECT_URL in your setting.py file
LOGOUT_REDIRECT_URL = 'url name to redirect'