Подтвердить что ты не робот

Как настроить, где перенаправить после выхода из Django?

Просто интересно, где я могу настроить URL для перенаправления после выхода из системы. Я знаю, что вы можете установить URL-адрес для входа. Я хочу перенаправить на свою домашнюю страницу.

4b9b3361

Ответ 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'

Ответ 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>