Shell脚本通过烧瓶更新DB

时间:2014-04-29 16:08:59

标签: flask flask-sqlalchemy

我开始使用flask并尝试了Flaskr示例。在执行某个python脚本时,我想更新我的数据库的一行。

我是这里的新手并想了解:我是否要从python脚本中更新数据库,或者我将等待来自烧瓶WSGI脚本的信号: 我已经提到了这个thread,但我不确定我将如何与外部脚本进行交互。任何帮助或提示都表示赞赏。

1 个答案:

答案 0 :(得分:2)

WSGI处理HTTP请求/响应。脚本不会发布这些脚本。相反,在脚本中导入Flask应用程序并创建应用程序上下文:

from my_project import my_app

ctx = my_app.app_context()
ctx.push()

# ... my code

db.session.commit()

ctx.pop()

相关文档:http://flask.pocoo.org/docs/appcontext/http://flask.pocoo.org/docs/shell/

或者考虑使用Flask-Script向您的应用程序添加命令行功能,如果该功能不需要是一个单独的脚本。