FLASK_ENV似乎被忽略了(无法进入调试环境)

时间:2019-02-20 19:43:16

标签: python flask

根据Flask文档,

  

flask脚本很适合启动本地开发服务器,但是您   每次更改代码后,都必须手动重新启动它。那   不是很好,Flask可以做得更好。如果启用调试支持   服务器将在代码更改时重新加载自身,并且还将   如果出现问题,可以为您提供有用的调试器。

     

要启用所有开发功能(包括调试模式),您可以   导出FLASK_ENV环境变量并将其设置为开发   在运行服务器之前:

$ export FLASK_ENV=development 
$ flask run

但是,在我的非常简单的示例中,直到重新启动服务器后,代码更改仍不会生效。我已经设置了要与export FLASK_APP=hello.py一起运行的特定脚本,该脚本如下:

from flask import Flask, url_for, request, render_template
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!!"

在运行Flask开发服务器时,我通过添加或删除感叹号并保存文件来更改返回值。然后,我在Chrome的http://127.0.0.1:5000/上刷新页面,但是感叹号的数量没有变化。一旦我使用Ctrl-C在终端中退出Flask并重新启动它,然后再次刷新页面,我就会得到适当数量的感叹号。

这是在Mac,Python 3.6.0(Anaconda),Flask 0.12上。

我是否误解了开发服务器如何为我提供帮助,或者您认为还有什么需要检查的?我对Flask很陌生。

2 个答案:

答案 0 :(得分:1)

尝试

FLASK_APP=app.py FLASK_DEBUG=1 TEMPLATES_AUTO_RELOAD=1 flask run

FLASK_DEBUG将使您获得现在正在寻找的行为; TEMPLATE_AUTO_RELOAD将为您提供开始使用模板后所需的行为。

答案 1 :(得分:0)

$env:FLASK_ENV = "development"
flask run

这在运行 VS 代码的 Win10 笔记本电脑上对我有用