我有一个像这样的应用工厂
db = SQLAlchemy() def create_app(environment): app = Flask(__name__) app.config.from_object(config[environment]) db.init_app(app) # ... etc return app
然后,我有一个脚本,它在应用程序的上下文之外提取CSV.这个脚本是一个每x小时运行一次的cron
我想以某种方式更新sqlite数据库应用程序正在使用.这可能吗?
我知道这个问题已得到解答,但您也可以使用以下with
声明:
from my_package import create_app app = create_app(my_envrionment) with app.app_context(): # your code here
我觉得这看起来有点干净:)
Flask-SQLAlchemy只需要一个应用程序上下文来操作.您可以手动创建应用程序上下文.
app = create_app(env) ctx = app.app_context() ctx.push() # your code here ctx.pop()
这是来自这里和这里的文档.