Python-如何调试Flask应用

发布于 2021-02-02 23:20:05

你打算如何调试Flask中的错误?打印到控制台?Flash信息到页面?还是有更强大的选项可用来找出出现问题时发生的情况?

关注者
0
被浏览
82
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    出现错误时,以开发模式运行该应用程序将在浏览器中显示交互式回溯和控制台。要在开发模式下运行,请设置FLASK_ENV=development环境变量,然后使用flask run命令(请记住也指向FLASK_APP你的应用程序)。

    对于Linux,Mac,Windows的Linux子系统,Windows的Git Bash等:

    export FLASK_APP=myapp
    export FLASK_ENV=development
    flask run
    

    对于Windows CMD,使用set而不是导出:

    set FLASK_ENV=development
    

    对于PowerShell,请使用$env:

    $env:FLASK_ENV = "development"
    

    在Flask 1.0之前,它是由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错误并将回溯打印到控制台来处理异常。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看