0.9 新版功能.
Flask 背后的设计理念之一就是,代码在执行时会处于两种不同的“状态”(states)。 当 Flask
对象被实例化后在模块层次上应用便开始隐式地处于应用配置状 态。一直到第一个请求还是到达这种状态才隐式地结束。当应用处于这个状态的时候 ,你可以认为下面的假设是成立的:
- 程序员可以安全地修改应用对象
- 目前还没有处理任何请求
- 你必须得有一个指向应用对象的引用来修改它。不会有某个神奇的代理变量指向 你刚创建的或者正在修改的应用对象的
相反,到了第二个状态,在处理请求时,有一些其它的规则:
- 当一个请求激活时,上下文的本地对象(
flask.request
和其它对象等) 指向当前的请求 - 你可以在任何时间里使用任何代码与这些对象通信
这里有一个第三种情况,有一点点差异。有时,你正在用类似请求处理时方式来 与应用交互,即使并没有活动的请求。想象一下你用交互式 Python shell 与应用 交互的情况,或是一个命令行应用的情况。
current_app
上下文本地变量就是应用上下文驱动的。
作者:admin,如若转载,请注明出处:https://www.web176.com/flask/20473.html