我有一个小的 Flask 应用程序,它显示 SQLite 3 数据库中保存的许多项目。我还有一个 cron 作业,它每天运行,并且(应该)将新条目插入到这个数据库中。
我创建了以下函数来修改数据库:
def add_entry(name):
statement = 'insert ....'
g.db.execute(statement, [name])
g.db.commit()
但是,当我运行它时,我会收到:
RuntimeError: working outside of application context
如何在不发布到网址的情况下修改数据库?
答案 0 :(得分:3)
您需要按照Flask documentation on this subject中的说明自行创建应用程序上下文。像
这样的东西with app.app_context():
add_entry()
应该这样做。