首页 > 解决方案 > 如何在烧瓶中访问视图功能之外的配置值

问题描述

我正在尝试从我的 Flask 应用程序对象外部视图函数访问配置值。正如我从官方文档中了解到的那样,我们可以在名为 current_app 的代理对象的帮助下访问当前正在运行的 Flask 应用程序实例,我们可以使用以下命令导入它:from flask import current_app。我需要在视图功能之外访问配置值。我正在使用第三方 API 从我的应用程序发送短信。我在另一个单独的模块中为此编写了代码,并且需要访问配置值才能初始化此第三方库的自定义对象。这是我在模块中编写的代码片段:

from third_party_api import Configuration
from flask import current_app

configuration = Configuration()
configuration.username = current_app.config['third_party_api_username']
configuration.password = current_app.config['third_party_api_password']

这是我得到的 RuntimeError 的快照: 在此处输入图像描述

据我了解,我们可以毫无问题地访问视图函数内的 current_app 配置对象。我不想直接从配置文件或类访问配置值。我阅读了文档,但没有帮助。

标签: flask

解决方案


通过将这段代码移动到另一个视图函数内部调用的函数内部来解决:

configuration = Configuration()
configuration.username = current_app.config['third_party_api_username']
configuration.password = current_app.config['third_party_api_password']

推荐阅读