在 flask 中获取全局配置 current_app 的解决方案
使用 flask 框架时,在应用程序上下文之外调用特定的函数或对象可能会出现 “runtimeerror: working outside of application context” 错误。这是因为 flask 依赖于应用程序上下文来访问全局配置和请求相关信息。
为了解决这个问题,在 flask 应用程序中使用 “current_app” 的最佳方法是在应用程序启动时初始化它。这通常在 “app.py” 文件中完成。
具体步骤:
-
在 “app.py” 文件中,导入 flask 和 flask-caching:
from flask import flask from flask_caching import cache
-
创建 flask 应用程序实例:
app = flask(__name__)
-
将当前应用程序配置传递给 flask-caching 实例:
cache = Cache(app, config=app.config['Cache'])
通过按照这些步骤进行操作,您可以在应用程序启动时初始化 “current_app”,从而避免在应用程序上下文之外使用它时出现错误。您可以在需要的地方导入 “cache” 对象,而无需担心出现应用程序上下文错误。