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

参考

Flask 扩展开发 应用环境

Loading Disqus comments...
Table of Contents