目录
二、Session的基本使用方式 - Flask - 官方文档阅读 - 基础总结
四、flask-session - 基于Flask框架对session的二次封装,为第三方模块
4-1 使用方式一、基于RedisSessionInterface对象实现
4-2 使用方式二、基于 flask.ext.session 的 Session对象
一、Flask内部Session对象源码分析
总结:Session对象本质需要实现open_session和save_session方法
def open_session(self, app, request): s = self.get_signing_serializer(app) if s is None: return None val = request.cookies.get(app.session_cookie_name) if not val: return self.session_class() max_age = total_seconds(app.permanent_session_lifetime) try: data = s.loads(val, max_age=max_age) return self.session_class(data) except BadSignature: return self.session_class() def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure =