在调试模式下运行应用程序将在出现错误时在浏览器中显示交互式回溯和控制台。从 Flask 2.2 开始,要在调试模式下运行,请将 --app 和 --debug 选项传递给 flask 命令。 $ flask --app example --debug run 在 Flask 2.2 之前,这由 FLASK_ENV=development 环境变量控制。您仍然可以使用 FLASK_APP 和 FLASK_DEBUG=1 而不是上面的选项。 对于 Linux、Mac、Windows 的 Linux 子系统、Windows 上的 Git Bash 等: $ export FLASK_APP=example $ export FLASK_DEBUG=1 $ flask run 对于 Windows CMD,使用 set 而不是导出: set FLASK_DEBUG=1 对于 PowerShell,使用 $env : $env:FLASK_DEBUG = "1" 如果您使用的是 app.run() 方法而不是 flask run 命令,请传递 debug=True 以启用调试模式。 无论开发模式如何,回溯也会打印到运行服务器的终端。 如果您使用的是 PyCharm、VS Code 等,则可以利用其调试器通过断点单步执行代码。运行配置可以指向调用 app.run(debug=True, use_reloader=False) 的脚本,或指向 venv/bin/flask 脚本并像从命令行一样使用它。您可以禁用重新加载程序,但重新加载会终止调试上下文,您将不得不再次捕获断点。 您还可以通过在要开始调试的视图中调用 set_trace 来使用 pdb、pudb 或其他终端调试器。 确保不要使用太宽泛的块除外。用一个包罗万象的 try... except... 包围你的所有代码将使你想要调试的错误消失。通常这是不必要的,因为 Flask 已经通过显示调试器或 500 错误并将回溯打印到控制台来处理异常。 原文由 davidism 发布,翻译遵循 CC BY-SA 4.0 许可协议
在调试模式下运行应用程序将在出现错误时在浏览器中显示交互式回溯和控制台。从 Flask 2.2 开始,要在调试模式下运行,请将
--app
和--debug
选项传递给flask
命令。在 Flask 2.2 之前,这由
FLASK_ENV=development
环境变量控制。您仍然可以使用FLASK_APP
和FLASK_DEBUG=1
而不是上面的选项。对于 Linux、Mac、Windows 的 Linux 子系统、Windows 上的 Git Bash 等:
对于 Windows CMD,使用
set
而不是导出:对于 PowerShell,使用
$env
:如果您使用的是
app.run()
方法而不是flask run
命令,请传递debug=True
以启用调试模式。无论开发模式如何,回溯也会打印到运行服务器的终端。
如果您使用的是 PyCharm、VS Code 等,则可以利用其调试器通过断点单步执行代码。运行配置可以指向调用
app.run(debug=True, use_reloader=False)
的脚本,或指向venv/bin/flask
脚本并像从命令行一样使用它。您可以禁用重新加载程序,但重新加载会终止调试上下文,您将不得不再次捕获断点。您还可以通过在要开始调试的视图中调用
set_trace
来使用 pdb、pudb 或其他终端调试器。确保不要使用太宽泛的块除外。用一个包罗万象的
try... except...
包围你的所有代码将使你想要调试的错误消失。通常这是不必要的,因为 Flask 已经通过显示调试器或 500 错误并将回溯打印到控制台来处理异常。