我正在使用以下代码加载配置变量。现在我想在蓝图中使用这些配置变量。我对最佳实践有点模糊,所以我在这里提出来。
在我的
在我的
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中,因此我无法获取这些变量。
在main中,我可以在打印后获取:
<Config {'JSON_AS_ASCII': True, 'USE_X_SENDFILE': False, 'ALLOWEDEXTENSIONS': 'pdf' ....}>
但是从我的蓝图中,尽管使用 from app import app
导入,我仍然无法看到所有这些变量:
<Config {'JSON_AS_ASCII': True,...}> # None of my variables
AttributeError: 'module'对象没有属性'config'
。 - disruptive