0

我有一个小型Flask应用程序,它显示SQLite 3数据库中保存的许多项目。我还有一个每天运行的cron作业,并且(应该)将新条目插入到这个数据库中。

我创建了以下函数来修改数据库:

def add_entry(name):
    statement = 'insert ....'
    g.db.execute(statement, [name])
    g.db.commit()

但是,当我运行它时,我收到:

RuntimeError: working outside of application context

如何在不发布到 URL 的情况下修改数据库?

4

1 回答 1

3

您需要自己创建一个应用程序上下文,如有关此主题的 Flask 文档中所述。就像是

with app.app_context():
    add_entry()

应该做的伎俩。

于 2013-08-18T22:56:49.617 回答