python - 关注flask config的问题,求解?
PHP中文网
PHP中文网 2017-04-18 09:25:42
[Python讨论组]

文件目录

.
├── instance
│   └── config.py
├── main
│   ├── __init__.py
│   └── __init__.pyc
├── run.py
└── venv

代码

# run.py
from main import app

if __name__ == '__main__':
    app.debug = app.config['DEBUG']
    app.run()
# main/__init__.py
from flask import Flask

app = Flask(__name__, instance_relative_config=True)
app.config.from_pyfile('config.py')
# instance/config.py
DEBUG = False

AppID = '123321'

出现的问题是 app.config 中无法加载我新建的 config.py 的内容?但是我设置的DEBUG为False却是可以加载的

# python shell
In [1]: from main import app

In [3]: app.config['DEBUG']
Out[3]: False

In [4]: app.config['AppID']
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
 in ()
----> 1 app.config['AppID']

KeyError: 'AppID'

照着这里的内容去做的:https://spacewander.github.io...

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
PHP中文网

我试了一下发觉配置的键只允许使用全大写加_线的命名方式。。。如APP_ID

ringa_lee

instance目录本身就是不包含在版本控制里面的,它的作用就是为了环境的隔离,只有当DEBUGTrue的时候才会在调用默认config的文件后,继续调用它下面的config文件,这样相同的配置就会使用后者进行覆盖

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号