文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
调试模式
你在上面看到的处理错误的方式对在生产服务器上运行的系统非常有用。 如果出现错误,用户将得到一个隐晦的错误页面(尽管我打算使这个错误页面更友好),错误的重要细节在服务器进程输出或存储到日志文件中。
但是当你正在开发应用时,可以启用调试模式,它是 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论