返回介绍

调试模式

发布于 2025-01-02 21:53:51 字数 1215 浏览 0 评论 0 收藏 0

你在上面看到的处理错误的方式对在生产服务器上运行的系统非常有用。 如果出现错误,用户将得到一个隐晦的错误页面(尽管我打算使这个错误页面更友好),错误的重要细节在服务器进程输出或存储到日志文件中。

但是当你正在开发应用时,可以启用调试模式,它是 Flask 在浏览器上直接运行一个友好调试器的模式。 要激活调试模式,请停止应用程序,然后设置以下环境变量:

(venv) $ export FLASK_DEBUG=1

如果你使用 Microsoft Windows,记得将 export 替换成 set

设置环境变量 FLASK_DEBUG 后,重启服务。相比之前,终端上的输出信息会有所变化:

(venv) microblog2 $ flask run
 * Serving Flask app "microblog"
 * Forcing debug mode on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 177-562-960

现在让应用再次崩溃,以在浏览器中查看交互式调试器:

该调试器允许你展开每个堆栈框来查看相应的源代码上下文。 你也可以在任意堆栈框上打开 Python 提示符并执行任何有效的 Python 表达式,例如检查变量的值。

永远不要在生产服务器上以调试模式运行 Flask 应用,这一点非常重要。 调试器允许用户远程执行服务器中的代码,因此对于想要渗入应用或服务器的恶意用户来说,这可能是开门揖盗。 作为附加的安全措施,运行在浏览器中的调试器开始被锁定,并且在第一次使用时会要求输入一个 PIN 码(你可以在 flask run 命令的输出中看到它)。

谈到调试模式的话题,我不得不提到的第二个重要的调试模式下的功能,就是 重载器 。 这是一个非常有用的开发功能,可以在源文件被修改时自动重启应用。 如果在调试模式下运行 flask run ,则可以在开发应用时,每当保存文件,应用都会重新启动以加载新的代码。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文