首页 > 其他 > 详细

上下文管理

时间:2020-07-04 16:16:18      阅读:38      评论:0      收藏:0      [点我收藏+]

概要

#1 请求到来时候:
    # ctx = RequestContext(self, environ) # self是app对象,environ请求相关的原始数据
    # ctx.request = Request(environ)
    # ctx.session = None
    
    # 将包含了request/session的ctx对象放到“空调”
        {
            1232:{ctx:ctx对象}
            1231:{ctx:ctx对象}
            1211:{ctx:ctx对象}
            1111:{ctx:ctx对象}
            1261:{ctx:ctx对象}
        }
        
#2 视图函数:
    #视图函数在获取request/session时,它内部隐含的操作是根据当前线程/协程的唯一标识
    #取到ctx对象,再去ctx对象取request/session
    from flask import reuqest,session 
    
    request.method 
    
    
#3 请求结束:
    #根据当前线程的唯一标记,将“空调”上的数据移除。

一  flask请求相关 

技术分享图片 

 二 flask-session  

pip3 install flask-session

1、使用

import redis
from flask import Flask,sessionfrom flask_session import Session

app = Flask(__name__)

app.config[SESSION_TYPE] = redis
app.config[SESSION_REDIS] = redis.Redis(host=140.143.227.206,port=6379,password=1234)
Session(app)

@app.route(/login)
def login():
    session[user] = alex
    return asdfasfd

@app.route(/home)
def index():
    print(session.get(user))

    return ...


if __name__ == __main__:
    app.run()

2、原理

- session数据保存到redis
    session:随机字符串1:q23asifaksdfkajsdfasdf
    session:随机字符串2:q23asifaksdfkajsdfasdf
    session:随机字符串3:q23asifaksdfkajsdfasdf
    session:随机字符串4:q23asifaksdfkajsdfasdf
    session:随机字符串5:q23asifaksdfkajsdfasdf
- 随机字符串返回给用户。
    随机字符串


源码:
    from flask_session import RedisSessionInterface

 

上下文管理

原文:https://www.cnblogs.com/zh-xiaoyuan/p/13232651.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!