我已经看到了许多有关清除Flask会话的示例和问题,但是还没有找到有关如何仅清除特定键或一组键的明确答案。
如果我不想清除整个会话,如何才能完全删除(好像它不存在)特定密钥?
例如,我想清除session ['foo'],但保留session ['bar']。所以当我以后做:
if 'foo' in session:
Run Code Online (Sandbox Code Playgroud)
这应该返回False。
从session.keys()你试图飞出钥匙?
# remove the keyname from the session if it is there
session.pop('key_name')
Run Code Online (Sandbox Code Playgroud)
我记得编写的应用程序弹出元素的速度非常快,而且表现得很奇怪(现在不记得这个具体情况),但从那时起我就习惯在任何可以使用的地方使用del。
如果您想从会话中删除密钥(如果存在),您可以使用pop:
flask.session.pop('key_name', None)
Run Code Online (Sandbox Code Playgroud)
与del它会是:
try:
del flask.session['key_name']
except KeyError:
pass
Run Code Online (Sandbox Code Playgroud)
我写这个答案是因为 CSMaveric 的评论,关于避免 del。
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |