Просто интересно, где я могу настроить URL для перенаправления после выхода из системы. Я знаю, что вы можете установить URL-адрес для входа. Я хочу перенаправить на свою домашнюю страницу.
Как настроить, где перенаправить после выхода из Django?
Ответ 1
Вам не нужно перезаписывать или обертывать что-либо.
В соответствии с документами вы можете просто предоставить аргумент next_page
в виде выхода из системы.
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/'})
Ответ 2
Один простой способ:
Добавьте "следующий" параметр в URL-адрес запроса на выход. Например:
<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>
Тогда представление выхода будет делать трюк для вас.
Для перенаправления после входа вы можете просто установить его в settings.py:
LOGIN_REDIRECT_URL = '/path_to_the_page'
LOGIN_URL = '/path_to_the_page'
Ответ 3
С Django 1.10 вы можете определить LOGOUT_REDIRECT_URL
(см. документы)
Ответ 4
Перенаправить на текущую страницу
<a href="{% url 'logout' %}?next={{ request.path | urlencode }}">{% trans "Logout" %}</a>
Протестировано в Django 1.9.
См. также: Возможно ли передать параметры запроса через тег шаблона {% url%} в Django?
Ответ 5
В вашем режиме выхода из системы, после выхода из системы пользователь навсегда, верните HttpResponseRedirect (url). Пожалуйста, подробнее см. Здесь.
Ответ 6
Из docs вы можете написать собственное представление выхода из системы (которое может быть просто простой оболочкой), переопределяя следующую страницу.
Ответ 7
Если вы хотите установить URL перенаправления на уровне клиента, вы можете сделать это в urls.py
:
(r'^management/logout/$', 'django.contrib.auth.views.logout'),
И затем в шаблоне:
<a href="{% url 'django.contrib.auth.views.logout' %}?next=/">
Log out
</a>
Где next
, вы указываете правильный URL.
Ответ 8
Вы можете даже использовать именованные URL для следующего параметра:
<a href="{% url 'auth_logout' %}?next={% url 'homepage' %}"> Logout</a>