Python 为什么';t flask会话对象是否需要实例化?
阅读文档后,我了解到flask定义了一个类flask.session 让我困惑的是,当人们使用它时,他们不会实例化session类的对象,而是直接使用session,如下代码所示:Python 为什么';t flask会话对象是否需要实例化?,python,python-3.x,flask,web-frameworks,Python,Python 3.x,Flask,Web Frameworks,阅读文档后,我了解到flask定义了一个类flask.session 让我困惑的是,当人们使用它时,他们不会实例化session类的对象,而是直接使用session,如下代码所示: from flask import Flask, session app = Flask(__name__) @app.route('/') def index(): session['key'] = 'value' 我不明白为什么代码不应该看起来像这样: from flask import Flask
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'
我还想知道这是否与会话作为代理有关,正如文档中所说的那样。我读了《代理说明》,但不太懂。这个问题太棒了
它在烧瓶中初始化globals.py
因此,当您从flask导入时,您将从其包\uuu init\uuuuuuuuuuuupy
导入,该包从globals.py
提取会话并对其进行初始化。当您直接导入它时,可以获取对它的引用
我应该澄清,课程本身不是一门课。它是LocalProxy类的一个实例,是请求上下文的代理。谢谢!对于会话是类还是实例,我仍然有点困惑。如果我执行
键入(会话)
,我可以验证您所说的LocalProxy实例。但是在文档()中,flask.session被定义为一个类,但在下面的注释中,它被称为一个对象……是的,这不是误导。隐马尔可夫模型。
session = LocalProxy(partial(_lookup_req_object, 'session'))