即使设置了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
。
除此之外,我在与会话相关的任何地方都没有做任何更改。