Django-即使设置`SESSION_EXPIRE_AT_BROWSER_CLOSE = True`

时间:2018-11-23 12:39:34

标签: python django session cookies web-deployment

即使设置了SESSION_EXPIRE_AT_BROWSER_CLOSE = True,我仍在使用自己的登录和注销系统 关闭浏览器后,用户无法注销。 我不擅长会话和缓存,所以您能告诉我要使其正常工作还需要做什么。 我是否需要在登录和注销视图中进行更改。 在登录表单中还添加了一个“记住我”键 Views.py登录视图

@csrf_protect
@never_cache
def loginremember(request):

    if request.method == "POST":
        form = AuthenticationRememberForm(data=request.POST)
        if form.is_valid():
            if not form.cleaned_data.get('remember_me'):
                request.session.set_expiry(0)


            login(request, form.get_user())

            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()

            return HttpResponseRedirect(redirect_to)
    else:

        form = AuthenticationRememberForm(request)

    request.session.set_test_cookie()

    return render(request,'registration/login.html',{'form':form})

Views.py注销视图

def logoutv(request):
    logout(request)
    return HttpResponseRedirect('/')

设置中已经包含SESSION_EXPIRE_AT_BROWSER_CLOSE = True。 除此之外,我在与会话相关的任何地方都没有做任何更改。

0 个答案:

没有答案