在 Flask 中调用任何视图函数之前,如何从数据库加载一些数据?

How do I load some data from database before any view function is called in Flask?

使用 Flask,由于用户可以从任何页面(路由)开始,我如何在程序运行后立即计算用户的通知?

我不想将检索此值的代码特别绑定到任何视图函数,而是希望在程序初始化时计算它。

如果我理解你的问题是正确的,你可以检查 http://flask.pocoo.org/docs/0.10/api/#flask.Flask.before_first_request 这听起来好像可以满足你的需要。这只会在有人第一次访问 webapp 时调用一次(启动后)。

@app.before_first_request
def before_first_request():
   log.debug('before first request')

如果您想更频繁地做某事,可以使用 before_request,但请注意不要在此函数中做任何繁重的工作。

您可以使用 before_request 装饰器:

@app.before_request
def do_something():
    # do something here
    pass