当我阅读带有Redis或flask.sessions.SecureCookieSessionInterface源代码的服务器端会话时,我对这个'if'语句感到困惑。如果会话为None,则代码应该尝试在下一行获取session.sid还是检查修改后的标志?
def save_session(self, app, session, response):
domain = self.get_cookie_domain(app)
if not session:
self.redis.delete(self.prefix + session.sid)
if session.modified:
response.delete_cookie(app.session_cookie_name,
domain=domain)
return
请告诉我为什么,我非常想。
session
将是的实例RedisSession
,它是的子类dict
。检查dict的真实性会返回False
是否为空。当会话为空时,将清除Redis记录和cookie。
你混淆if not session:
使用if session is None:
。检查会话的真实性并不意味着未设置会话,仅表示它是错误的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句