【发布时间】:2014-06-15 16:45:45
【问题描述】:
我开始使用flask 并尝试了Flaskr 示例。在执行某个 python 脚本时,我想更新我的数据库的一行。
我是这里的新手,想了解一下:我是要从该 python 脚本中更新数据库还是要等待来自烧瓶 WSGI 脚本的信号: 我已经提到了这个thread,但我不确定我将如何与外部脚本交互。任何帮助或提示表示赞赏。
【问题讨论】:
我开始使用flask 并尝试了Flaskr 示例。在执行某个 python 脚本时,我想更新我的数据库的一行。
我是这里的新手,想了解一下:我是要从该 python 脚本中更新数据库还是要等待来自烧瓶 WSGI 脚本的信号: 我已经提到了这个thread,但我不确定我将如何与外部脚本交互。任何帮助或提示表示赞赏。
【问题讨论】:
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 将命令行函数添加到您的应用程序,如果函数不需要是单独的脚本。
【讨论】: