阅读文档我明白烧瓶定义了一个类flask.session。
令我困惑的是,当人们使用它时,他们不会实例化会话类的对象,而是直接使用会话,如下面的代码所示:
from flask import Flask, session
app = Flask(__name__)
@app.route('/')
def index():
session['key'] = 'value'
我不明白为什么代码看起来不应该是这样的:
from flask import Flask, session
app = Flask(__name__)
s = session() # so s is an instance of the flask.session class
@app.route('/')
def index():
s['key'] = 'value'
我也想知道这是否与会话代理有关,正如文档中所述。我阅读了关于代理的注释'但是不太了解。
答案 0 :(得分:0)
很棒的问题。
它在烧瓶function() {
var id = {{GA-COOKIE}};
var aux;
aux = id.split(".");
return aux[2]+"."+aux[3];
}
https://github.com/pallets/flask/blob/master/flask/globals.py
globals.py
因此,当您从刻录机导入时,您从其session = LocalProxy(partial(_lookup_req_object, 'session'))
包中导入,该会话从__init__.py
拉出会话并初始化它。您直接导入它时会获取对它的引用。
我应该澄清,会话本身不是一个类。它是LocalProxy类的一个实例,它是请求上下文的代理。