我已经看到了许多有关清除Flask会话的示例和问题,但是还无法找到有关如何仅清除特定键或一组键的明确答案。
如果我不想清除整个会话,如何才能完全删除(好像它不存在)特定密钥?
例如,我想清除session ['foo'],但保留session ['bar']。所以当我以后做时:
if 'foo' in session:
这应该返回False。
答案 0 :(得分:3)
从update
起,您是否尝试弹出密钥?
session.keys()
答案 1 :(得分:0)
我记得写应用程序时弹出元素的速度非常快,并且表现得很怪异(现在不记得这个特殊的情况了),但是从那时起我就一直在尽可能地使用它。
如果要从会话中删除密钥(如果存在或不存在),可以使用pop
:
flask.session.pop('key_name', None)
使用del
将会是:
try:
del flask.session['key_name']
except KeyError:
pass
我之所以写这个答案是因为CSMaveric的评论,关于避免del。