在我的django项目中,我想要一个仅在特定时间后销毁的会话,为此,我设置了到期时间,但注销后会话也销毁了。
基本上我想要的会话不受任何登录/注销活动的影响。
我在搜索它,但找不到任何解决方案,有人帮助我。
答案 0 :(得分:1)
好吧,当您呼叫logout
时,它flushes是会话。如果要保留该数据,则需要定义自己的注销功能。您可以尝试这样:
from django.contrib.auth import logout
def logout(request):
your_data = request.session.get('your_key', None)
current_expiry = request.session.get('_session_expiry')
logout(request)
if your_data:
request.session['your_key'] = your_data
if current_expiry:
request.session['_session_expiry'] = current_expiry
仅供参考。它是未经测试的代码。另外,如果您不使用会话来存储应在注销后持续的数据,则可能会更好。您可以为此使用redis或任何临时存储。
答案 1 :(得分:0)
尝试一下:
Views.py
from django.contrib.auth import logout
def logoutUser(request):
logout(request)
messages.success(request,"Successfully logged out")
return redirect("login")