Выход из Джанго - PullRequest
       5

Выход из Джанго

0 голосов
/ 03 января 2019

Я пытаюсь выйти из сеанса блокировки. В документах написано

LOCKDOWN_LOGOUT_KEY

Ключ, который, если он указан в строке запроса заблокированного URL, отключит пользователя от предварительного просмотра.

Я не уверен, правильно ли я понимаю. Я пытался реализовать это так:

  1. У меня есть промежуточное ПО блокировки в списке промежуточного ПО.
  2. У меня есть эти параметры блокировки в settings.py:

LOCKDOWN_FORM = 'lockdown.forms.AuthForm'
LOCKDOWN_AUTHFORM_STAFF_ONLY = False
LOCKDOWN_LOGOUT_KEY = 'logout'
  1. У меня есть кнопка, которая ссылается на "/ logout /"

<form action="/logout/">
  <input type="submit" value="Logout"/>
</form>
  1. Это просто ссылка на HttpResponseRedirect () обратно на мою главную страницу:

urls.py:

path('logout/', views.logout, name='logout')

views.py:

def logout(request):
	return HttpResponseRedirect("/")

Ссылка работает и возвращает меня на главную страницу. Но выход не происходит. Кто-нибудь знает, как это сделать?

EDIT: Я нашел решение. Я добавил одну строку кода в функцию выхода из системы в views.py:

def logout(request):
  request.session.flush()
  return HttpResponseRedirect("/")

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Просто добавьте значение LOCKDOWN_LOGOUT_KEY (по умолчанию "preview-logout") в качестве параметра строки запроса.

<a href="/?preview-logout">Log out</a>
0 голосов
/ 07 января 2019

Я нашел решение. Я добавил одну строку кода в функцию выхода из системы в views.py:

def logout(request):
  request.session.flush()
  return HttpResponseRedirect("/")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...