当我阅读Server-side Sessions with Redis或 flask.sessions.SecureCookieSessionInterface源代码 我有点困惑,如果'声明。 如果会话为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
请告诉我为什么,非常想。
答案 0 :(得分:0)
session
将是RedisSession
的一个实例,它是dict
的子类。检查dict的真实性如果为空则返回False
。会话为空时,Redis记录和cookie将被清除。
您将if not session:
与if session is None:
混淆。检查会话的真实性并不意味着它没有设置,只是意味着它是假的。