Django 3 Web应用开发实战
上QQ阅读APP看书,第一时间看更新

1.9.1 PyCharm断点调试

我们知道,PyCharm调试Django开发的项目,PyCharm的版本必须为专业版,而社区版是不具备Web开发功能的。使用PyCharm启动Django的时候,可以发现PyCharm上带有爬虫的按钮,该按钮用于开启Django的Debug调试模式,如图1-15所示。

图1-15 调试按钮

单击图1-15中的调试按钮(带有爬虫的按钮),即可开启调试模式,在PyCharm的正下方可以看到相关的调试信息,如图1-16所示。

图1-16 调试信息

从图1-16的调试界面可以看到有多个操作按钮,常用的调试按钮的功能说明以表格的形式表示,如表1-2所示。

表1-2 常用的调试按钮的功能说明

我们通过简单的示例来讲述如何使用PyCharm的调试模式。以MyDjango项目为例,在index文件夹的views.py文件里,视图函数index添加变量value并且在返回值return处设置断点,如图1-17所示。

图1-17 设置断点

设置断点是在图1-17的方框里单击一下即可出现红色的圆点,该圆点代表断点设置,当项目开启调试模式并运行到断点所在的代码位置,程序就会暂停运行。

开启MyDjango项目的调试模式并在浏览器上访问127.0.0.1:8000,在PyCharm正下方的调试界面里可以看到相关的代码信息,如图1-18所示。

图1-18 代码信息

调试界面Debugger的Frames是当前断点的程序所依赖的程序文件,单击某个文件,Variables就会显示当前文件的程序所生成的对象信息。

单击按钮,PyCharm就会自动往下执行程序,直到下一个断点才暂停程序;单击按钮,PyCharm只会执行当前暂停位置的下一步代码,这样可以清晰地看到每行代码的执行情况。这两个按钮是断点调试最为常用的,它们能让开发者清晰地了解代码的执行情况和运行逻辑。

如果程序在运行过程中出现异常或者代码中设有输出功能(如print),这些信息就可以在PyCharm正下方调试界面的Console里查看,如图1-19所示。

图1-19 输出信息

启动项目的时候,从图1-19的运行信息看到“System check identified no issues (0 silenced)”信息,该信息表示Django对项目里所有的代码语法进行检测,如果代码语法存在错误,在启动的过程中就会报出相关的异常信息。

图1-19中的“This is test!”是视图函数index的“print(value)”代码输出结果;"GET / HTTP/1.1"200代表浏览器成功访问127.0.0.1:8000,其中200代表HTTP的状态码。

注意

断点调试无法在模板文件(templates的index.html)设置断点,因此无法对模板文件进行调试,只能通过PyChram调试界面Console或浏览器开发者工具进行调试。