根据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很陌生。
答案 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 笔记本电脑上对我有用