![Django+Vue.js商城项目实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/343/52842343/b_52842343.jpg)
1.9.1 PyCharm的Debug模式
我们知道,PyCharm调试Django开发的项目,PyCharm的版本必须为专业版,社区版是不具备Web开发功能的。使用PyCharm启动Django的时候,可以发现PyCharm上有带爬虫的按钮(调试按钮),该按钮用于开启Django的Debug调试模式,如图1-20所示。
![](https://epubservercos.yuewen.com/DAA20F/31397888507163106/epubprivate/OEBPS/Images/Figure-P32_372.jpg?sign=1738929880-S76kCJBa34TJ0PuFfrr4CJofpKAF0sw1-0-2ad1d077bbc25780e08c6371ab500c03)
图1-20 调试按钮
单击图1-20中的调试按钮,即可开启调试模式,在PyCharm的正下方可以看到相关的调试信息,如图1-21所示。
![](https://epubservercos.yuewen.com/DAA20F/31397888507163106/epubprivate/OEBPS/Images/Figure-P32_380.jpg?sign=1738929880-Uz4MKqObUmIcWK1zDfPs06diVPJTyg8Y-0-8246748a0efd46d9e690434357387013)
图1-21 调试信息
从图1-21的调试界面可以看到有多个操作按钮,常用的调试按钮的功能说明,如表1-4所示。
表1-4 常用的调试按钮的功能说明
![](https://epubservercos.yuewen.com/DAA20F/31397888507163106/epubprivate/OEBPS/Images/Figure-T33_13891.jpg?sign=1738929880-1KaoFebLafU2jgLIMiJjd7pC8gHgjbhM-0-8b4b343e22408597b32819d5b80466a1)
我们通过简单的示例来讲述如何使用PyCharm的调试模式。以MyDjango项目为例,在index文件夹的views.py文件中,视图函数index添加变量value,并且在返回值return处设置断点,如图1-22所示。
![](https://epubservercos.yuewen.com/DAA20F/31397888507163106/epubprivate/OEBPS/Images/Figure-P33_1597.jpg?sign=1738929880-3LbP9dJWuzqtPjmu9bOhdUyVybUKk1qv-0-83f46f131a6c97c413898212617c6b1e)
图1-22 设置断点
设置断点时,在图1-22的方框中单击一下即可出现红色的圆点,该圆点就代表断点,当项目开启调试模式并运行到断点所在的代码位置时,程序就会暂停运行。
开启MyDjango项目的调试模式并在浏览器上访问127.0.0.1:8000,在PyCharm正下方的调试界面可以看到相关的代码信息,如图1-23所示。
![](https://epubservercos.yuewen.com/DAA20F/31397888507163106/epubprivate/OEBPS/Images/Figure-P33_1605.jpg?sign=1738929880-tnYAKmavZv5ImlaCUbnq5AfOTbXyWttk-0-1b1feb349400cb17760cea730ed8e466)
图1-23 代码信息
调试界面Debugger的Frames是当前断点的程序所依赖的程序文件,单击某个文件,Variables就会显示当前文件的程序所生成的对象信息。
单击按钮,PyCharm就会自动往下执行程序,直到下一个断点才暂停程序;单击
按钮,PyCharm只会执行当前暂停位置的下一步代码,这样可以清晰地看到每行代码的执行情况。这两个按钮是断点调试最为常用的,它们能让开发者清晰地了解代码的执行情况和运行逻辑。
如果程序在运行过程中出现异常或者代码中设有输出功能(如print),这些信息就可以在PyCharm正下方的调试界面的Console中查看,如图1-24所示。
![](https://epubservercos.yuewen.com/DAA20F/31397888507163106/epubprivate/OEBPS/Images/Figure-P34_1632.jpg?sign=1738929880-2BwkTPB0DiNF7Pa6WoxEJr9ywLhCdwGp-0-23d7d6529a1d532d3fa832377efa7b8e)
图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或浏览器开发者工具进行调试。