我有一个非常基本的烧瓶网站,如下文件website.py
所示。一切正常,除非我设置了debug=True
,然后在visualstudio中设置了断点,否则我会得到上面的错误。
from flask import Flask, render_template, request, redirect, url_for, flash
app = Flask(__name__)
@app.route('/')
def home():
return 'hi'
if __name__ == "__main__":
app.run(debug=True)
您需要为您的flask python文件创建一个调试配置:
在launch.json文件中单击
Add Configuration
->选择Python
->选择Flask
。记住将
app.py
重命名为website.py
或者您可以直接将其复制到launch.json文件中,并选择它作为调试的配置:
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": { "FLASK_APP": "website.py", "FLASK_ENV": "development" },
"args": ["run", "--no-debugger"],
"jinja": true
},
您可以查看官方文档以了解更多详细信息。
Flask建议使用flask run
命令运行应用程序。请参阅Flask 2.0.x的Flask网站上的快速启动文档。要使用调试模式运行应用程序,请将FLASK_ENV
环境变量设置为development
。
website.py
:
from flask import Flask, render_template, request, redirect, url_for, flash
app = Flask(__name__)
@app.route('/')
def home():
return 'hi'
如果您正在使用Linux/Mac
:
export FLASK_APP=website
export FLASK_ENV=development
flask run
如果您正在使用Windows
:
set FLASK_APP=website
set FLASK_ENV=development
flask run
Flask 2.3以后版本的更新
FLASK_ENV=development
从Flask 2.3开始被弃用。在flask run
命令中使用FLASK_DEBUG=1
或--debug
标志:flask run --debug
。
参考文献:
- Flask 2.0.x Flask网站上的快速入门文档