【问题标题】:Django lockdown logoutDjango 锁定注销
【发布时间】:2019-05-30 02:24:04
【问题描述】:

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

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的logout函数中加了一行代码:

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

【问题讨论】:

    标签: python html django logout lockdown


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      只需将LOCKDOWN_LOGOUT_KEY(默认为“preview-logout”)的值添加为查询字符串参数即可。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-23
        • 1970-01-01
        • 2013-02-15
        • 1970-01-01
        • 2018-05-22
        • 2012-03-14
        • 2011-01-05
        • 2011-08-26
        相关资源
        最近更新 更多