【发布时间】:2018-02-04 09:41:58
【问题描述】:
我在一个名为“MyApp”的包中构建了一个大型烧瓶应用程序(完全如图所示:http://flask.pocoo.org/docs/0.12/patterns/packages/)
根据 Flask 文档,调试模式应该启用以下功能:
- 它激活调试器
- 它会激活自动重新加载器
- 它在 Flask 应用程序上启用调试模式。
一开始我使用以下命令运行我的烧瓶应用程序,一切正常:
export FLASK_APP=MyApp
export FLASK_DEBUG=1
flask run
然后我了解了设置配置系统的正确方法(包括调试模式)。 所以我创建了以下 config.py 文件:
class Config(object):
DEBUG = False
...
class ProductionConfig(Config):
...
class DevelopmentConfig(Config):
DEVELOPMENT = True
DEBUG = True
...
CONFIGS = {
"development": DevelopmentConfig,
"production": ProductionConfig,
"default": DevelopmentConfig
}
在我的应用程序 __init__.py 文件中,我写道:
app = Flask(__name__)
config_name = os.getenv('FLASK_CONFIGURATION', 'default')
app.config.from_object(CONFIGS[config_name])
现在,要运行应用程序,我输入一个新命令:
export FLASK_APP=MyApp
export FLASK_CONFIGURATION=development
flask run
很遗憾,这次调试模式根本没有激活..
没有激活调试器或自动重新加载器。
唯一改变的是app.debug 现在等于True。
我不明白.. 看起来DEBUG = TRUE 工作不正常。
你知道为什么会这样吗?
【问题讨论】: