关注flask config的问题,求解?
文件目录
.├── instance
│ └── config.py
├── main
│ ├── __init__.py
│ └── __init__.pyc
├── run.py
└── venv
代码
# run.pyfrom main import app
if __name__ == '__main__':
app.debug = app.config['DEBUG']
app.run()
# main/__init__.pyfrom flask import Flask
app = Flask(__name__, instance_relative_config=True)
app.config.from_pyfile('config.py')
# instance/config.pyDEBUG = False
AppID = '123321'
出现的问题是 app.config 中无法加载我新建的 config.py 的内容?但是我设置的DEBUG为False却是可以加载的
# python shellIn [1]: from main import app
In [3]: app.config['DEBUG']
Out[3]: False
In [4]: app.config['AppID']
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-4-57356ec501a0> in <module>()
----> 1 app.config['AppID']
KeyError: 'AppID'
照着这里的内容去做的:https://spacewander.github.io...
回答:
首先第一点:config文件只能加载大写字母的配置,官方文档的说明如下
另外,DEBUG是属于app的config属性里面self.default_config字典里的内容,而这个default_config可以见下图
另外我昨天正好在研究config的加载机制,昨天刚写的笔记,可以参考下,可能语句有些混乱,不知道你能看懂不
http://blog.csdn.net/bestalle...
回答:
我试了一下发觉配置的键只允许使用全大写加_线的命名方式。。。如APP_ID
回答:
instance
目录本身就是不包含在版本控制里面的,它的作用就是为了环境的隔离,只有当DEBUG
为True
的时候才会在调用默认config的文件后,继续调用它下面的config文件,这样相同的配置就会使用后者进行覆盖
以上是 关注flask config的问题,求解? 的全部内容, 来源链接: utcz.com/a/157817.html