python - 从 flask 蓝图中导入应用程序设置

标签 python flask

<分区>

我正在使用以下代码加载配置变量。我现在想做的是在蓝图本身中使用这些配置变量。我想我对执行此操作的最佳方法有点模糊,所以我把它放在那里。

在我的app.py

app.config.from_object('config')

我的 config.py 包含:

import os
UPLOAD_FOLDER = 'xxx/xxx'
ALLOWEDEXTENSIONS = set(['png'])

那么在我的蓝图中,我应该如何获得例如 ALLOWEDEXTENSIONS

在我的蓝图中我有:

import app as app
mybp = Blueprint('bp', __name__)
print(app.config['ALLOWEDEXTENSIONS'])      # doesn't work
print(app.config.Config.ALLOWEDEXTENSIONS)  # doesn't work

我应该如何处理导入全局 cfg 设置以及我应该如何获取变量?

如果我在 app.py 中的 __main__ 之后执行 print(app.config),它会打印我的变量,但是在蓝图中,当我这样做时,这些变量不再位于 app.config 中,因此我无法获取这些变量。

ma​​in中,打印后可以得到:

<Config {'JSON_AS_ASCII': True, 'USE_X_SENDFILE': False,  'ALLOWEDEXTENSIONS': 'pdf' ....}>

但是尽管使用 from app import app 导入,但从我的蓝图中我看不到所有这些变量:

<Config {'JSON_AS_ASCII': True,...}> # None of my variables

最佳答案

current_app.config['...'] 应该可以正常工作

关于python - 从 flask 蓝图中导入应用程序设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32483070/

相关文章:

python - 如何使用Ajax实现Progressbar以完成长的 celery 任务

python - 结合 Flask-reSTLess、Flask-security 和常规 Python 请求

python - 在对不是从 'super' 派生的 python 类进行子类化时使用 `object`(旧式?)

Python - SQL更新表中所有行的有效方法

javascript - 如何 : Dynamically generate CSRF-Token in WTForms with Flask

python - 如何找到使用 flask-migrate 创建的最新迁移?

java - 当您将变量绑定(bind)到某些数据时会发生什么?

Python:有效替换子字符串

python - Matplotlib:在刻度之间移动刻度标签

python - session 对象上的 Flask Session(文件系统)UnPicklingError,是否有大小限制或者我是否出现损坏?