Django锁定注销

时间:2019-01-03 13:29:47

标签: python html django logout lockdown

我正在尝试注销锁定会话。在文档中说

  

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("/")

该链接有效,将我带回到主页。 但是没有注销。 有谁知道该怎么做?

编辑: 我找到了解决方案。 我在views.py中的注销功能中添加了一行代码:

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

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。 我在views.py中的注销功能中添加了一行代码:

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

答案 1 :(得分:0)

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

<a href="/?preview-logout">Log out</a>