0

我试图注销我的锁定会话。在文档中它说

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() 链接回我的主页:

网址.py:

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

视图.py:

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

该链接有效,并带我回到我的主页。但是没有发生注销。有谁知道如何做到这一点?

编辑:我找到了解决方案。我在views.py的logout函数中添加了一行代码:

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

4

2 回答 2

0

我找到了解决方案。我在views.py的logout函数中添加了一行代码:

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

于 2019-01-07T10:06:11.340 回答
0

只需将LOCKDOWN_LOGOUT_KEY("preview-logout" 默认情况下) 的值添加为查询字符串参数。

<a href="/?preview-logout">Log out</a>
于 2019-01-11T17:26:17.773 回答