在我的 django 项目中,我想要一个仅在特定时间后销毁的会话,因为我设置了过期时间,但会话在注销后也会销毁。
基本上我想要的会议是不受任何登录/注销活动的影响。
我搜索了但没有找到任何解决方案,任何人都可以帮助我。
好吧,当你打电话时logout
, it flushes https://docs.djangoproject.com/en/2.1/topics/http/sessions/#django.contrib.sessions.backends.base.SessionBase.flush会议。如果您想保留该数据,那么您需要定义自己的注销功能。你可以这样尝试:
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
FYI它是未经测试的代码。另外,如果您不使用会话来存储注销后应持续存在的数据,也许会更好。您可以为此使用 redis 或任何临时存储。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)