Flask配置文件'DEBUG=True'不执行任何操作

2024-04-25 14:25:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个名为“MyApp”的包中构建了一个大型flask应用程序(如下所示:http://flask.pocoo.org/docs/0.12/patterns/packages/

根据Flask文档,调试模式应启用以下功能:

  1. 它激活调试器
  2. 它激活自动重新装载机
  3. 它在Flask应用程序上启用调试模式。在

一开始,我用以下命令运行flask应用程序,一切都很好:

export FLASK_APP=MyApp
export FLASK_DEBUG=1 
flask run

然后我阅读了设置配置系统的正确方法(包括调试模式)。 所以我创造了以下配置.py文件:

^{pr2}$

在我的应用程序\uu init_uuy.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工作不正常。在

你知道为什么会这样吗?在


Tags: runnamedebug命令configapp应用程序flask
1条回答
网友
1楼 · 发布于 2024-04-25 14:25:17

使用调试器运行与设置DEBUG配置不同。你必须同时做这两件事。在开发模式下运行服务器会自动设置配置。通常,您应该依赖于它,而不是直接设置配置。在

您所读到的“正确的配置方式”是a)只是另一种方式,而不是“正确的”方式,以及b)只设置config,而不是FLASK_ENV或{}环境变量,这些变量控制服务器的调试模式。在

设置环境变量FLASK_ENV=development告诉flask run用调试器和重新加载程序包装应用程序。(app.run(debug=True)执行相同的操作,但不能设置FLASK_ENV,它只有一个env变量,flask run命令现在是首选)。app.debug在Flask应用程序中切换一些内部行为,例如将错误传递给启用了开发模式的交互式调试器。在

相关问题 更多 >