刷新浏览器时删除会话密钥(Django)

2024-04-24 10:20:06 发布

您现在位置:Python中文网/ 问答频道 /正文

当用户刷新浏览器时,如何删除会话?我知道,下面删除会话密钥。在

del request.session['session_key']

编辑: 我试图在不同视图中的多个表单中传播用户输入的值,为此我使用了session变量。但是,当用户手动刷新页面时,我想清除会话键。在


Tags: key用户视图编辑表单requestsession密钥
1条回答
网友
1楼 · 发布于 2024-04-24 10:20:06

在Django中(我能想到)没有办法知道页面是否被刷新了,或者只是开始一个新的会话、页面等等。在

如果在页面加载完成后,您只想删除所有依赖于您希望发生这种情况的会话,请查看Signals,或者在请求在视图中完成后删除这些会话。在

回复:正在删除所有会话。。。在

flush()从会话中删除当前会话数据并删除会话cookie。用户将保持登录状态。https://docs.djangoproject.com/en/1.8/topics/http/sessions/#django.contrib.sessions.backends.base.SessionBase.flush

如果您只想删除每个会话密钥(并让用户保持登录状态),请执行以下操作:

for key in request.session.keys():
    del request.session[key]

这将删除request.session中的每个会话。在

相关问题 更多 >