flask之flask_session
源码梳理
flask-session - Flask中session处理机制(内置:将session保存在加密cookie中实现) - 请求刚到来:获取随机字符串,存在则去"数据库"中获取原来的个人数据,否则创建一个空容器。--> 内存:对象(随机字符串,{放置数据的容器}) # 到底是什么对象? # 1. obj = 创建SecureCookieSessionInterface() # 2. obj = open_session(self.request) = SecureCookieSession() # self.session = SecureCookieSession()对象. self.session = self.app.open session(self.request) - 视图:操作内存中对象(随机字符串,{放置数据的容器}) - 响应:内存中对象(随机字符串,{放置数据的容器}) - 将数据保存到"数据库" - 把随机字符串写在用户cookie中。 - 自定义 请求刚到来: # 创建特殊字典,并添加到loca1 中。 # 调用关系: # self.session_interface.open_session(self,request) # 由于默认 app 中的 session_interface=SecureCookieSessionInterface() # SecureCookiesessionInterface().open_session(self,app, request) self.session = self.app.open_session(self.request) 调用: session -> LocalProxy -> 偏函数 -> LocalStack -> Local 请求终止: # self.session_interface.open_session(self,request) # 由于默认 app 中的 session_interface=SecureCookieSessionInterface() # SecureCookiesessionInterface().save_session(self,app,session,request)
参考: