flask 环境变量的笔记
本地环境
app 独立于本地环境, 本地环境没有必要了解其服务于何个app,因而其用途就会变得很广。
app 对本地环境一些关联
app的配置 app的开启和关闭, app才始化为开启,app 停止为关闭.
app.teardown_appcontext 注册一个在其关闭时,调用的function
app 的堆是什么意思? 个人理解是在一个app开启后,你也可以再开启一个app因此,就要使用到堆了
from flask import _app_ctx_stack as stack
current_app ?= stack.top 个人没有验证!
cur = app.app_context()
cur.push()
with app.app_context():
cur = db.connection.cursor()
cur.execute(...)
cur = db.connection.cursor()
@property
def connection(self):
ctx = stack.top
if ctx is not None:
if not hasattr(ctx, 'sqlite3_db'):
ctx.sqlite3_db = self.connect()
return ctx.sqlite3_db