1.9.1 PyCharm的Debug模式
我们知道,PyCharm调试Django开发的项目,PyCharm的版本必须为专业版,社区版是不具备Web开发功能的。使用PyCharm启动Django的时候,可以发现PyCharm上有带爬虫的按钮(调试按钮),该按钮用于开启Django的Debug调试模式,如图1-20所示。
图1-20 调试按钮
单击图1-20中的调试按钮,即可开启调试模式,在PyCharm的正下方可以看到相关的调试信息,如图1-21所示。
图1-21 调试信息
从图1-21的调试界面可以看到有多个操作按钮,常用的调试按钮的功能说明,如表1-4所示。
表1-4 常用的调试按钮的功能说明
我们通过简单的示例来讲述如何使用PyCharm的调试模式。以MyDjango项目为例,在index文件夹的views.py文件中,视图函数index添加变量value,并且在返回值return处设置断点,如图1-22所示。
图1-22 设置断点
设置断点时,在图1-22的方框中单击一下即可出现红色的圆点,该圆点就代表断点,当项目开启调试模式并运行到断点所在的代码位置时,程序就会暂停运行。
开启MyDjango项目的调试模式并在浏览器上访问127.0.0.1:8000,在PyCharm正下方的调试界面可以看到相关的代码信息,如图1-23所示。
图1-23 代码信息
调试界面Debugger的Frames是当前断点的程序所依赖的程序文件,单击某个文件,Variables就会显示当前文件的程序所生成的对象信息。
单击按钮,PyCharm就会自动往下执行程序,直到下一个断点才暂停程序;单击按钮,PyCharm只会执行当前暂停位置的下一步代码,这样可以清晰地看到每行代码的执行情况。这两个按钮是断点调试最为常用的,它们能让开发者清晰地了解代码的执行情况和运行逻辑。
如果程序在运行过程中出现异常或者代码中设有输出功能(如print),这些信息就可以在PyCharm正下方的调试界面的Console中查看,如图1-24所示。
图1-24 输出信息
启动项目的时候,从图1-24的运行窗口可看到System check identified no issues (0 silenced)信息,该信息表示Django对项目中所有的代码语法进行检测,如果代码语法存在错误,在启动的过程中就会报出相关的异常信息。
图1-24中的“This is test!”是视图函数index的“print(value)”代码的输出结果;"GET/ HTTP/1.1" 200代表浏览器成功访问127.0.0.1:8000,其中200代表HTTP的状态码。
注意:断点调试无法在模板文件(templates的index.html)设置断点,因此无法对模板文件进行调试,只能通过PyCharm的调试界面Console或浏览器开发者工具进行调试。