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)

 

参考:

https://www.cnblogs.com/fu-yong/p/9213147.html

https://www.cnblogs.com/liangsha0/p/11177642.html

posted @ 2022-10-27 22:47  耗油炒白菜  阅读(83)  评论(0编辑  收藏  举报