调试 Django 模板
启用 Django 插件
此功能依赖于 Django 插件,该插件默认情况下已捆绑并在 PyCharm 中启用。 如果相关功能不可用,请确保您未禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 Django 插件,并选中插件名称旁边的复选框。
启用 Django 插件
此功能依赖于 Django 插件,该插件默认情况下已捆绑并在 PyCharm 中启用。 如果相关功能不可用,请确保您未禁用该插件。
按下 Ctrl+Alt+S 以打开设置,然后选择 。
打开 已安装 选项卡,找到 Django 插件,并选中插件名称旁边的复选框。
在开始之前,请确保 Django 被指定为 项目模板语言。
准备一个示例
创建一个 Django 项目
demoDjangoProject,并包含应用程序poll。
PyCharm 创建了项目结构并填充了必要的文件。
打开文件 poll/views.py 。 它已经包含了
import语句以及创建应用程序视图的提示:from django.shortcuts import render # Create your views here.让我们为应用程序的主页定义一个视图:
from django.shortcuts import render def index(request): return render(request, 'poll/index.html', context={'hello': 'world'})index.html 被标记为未解析的引用:

按 Alt+Enter 或点击
并选择创建缺失的模板:
创建模板 对话框出现,显示只读模板名称(模板路径 字段)以及可能的模板位置列表(模板根目录 字段):

选择模板目录,新模板将在此处创建。
模板根目录 字段提供了新模板可能位置的列表。 此列表包括在 IDE 设置 Ctrl+Alt+S 的 页面中 指定 的模板目录,以及所有位于应用程序目录内的 templates 文件夹(如果有)。
点击 确定。
在指定位置创建了一个空的 .html 文件。
在 templates/poll/index.html 中,输入以下代码以逐字符打印出
hello变量的值:{% for char in hello %} {{ char }} {% endfor %}根据 poll/views.py 中提供的上下文,
hello的值是world。 因此,我们期望渲染的页面包含w o r l d。打开 demoDjangoProject/urls.py 文件。
在此文件中找到
urlpatterns并添加以下代码,以定义应使用哪个视图来渲染 index 页面:path('index/', index),不要忘记导入语句!
from poll.views import index您应该得到以下内容:

因此,示例代码已准备就绪。
设置断点
向模板文件添加一个断点。 为此,打开文件 templates/poll/index.html 并点击边距:

Django 服务器运行/调试配置 会自动创建。 如果需要,您可以通过在主工具栏的运行/调试配置列表中选择 编辑配置(E) 命令来编辑它:

例如,您可以选择在配置启动时自动打开一个浏览器窗口:

启动运行/调试配置
通过点击
以调试模式启动所选的运行/调试配置。

点击 调试 工具窗口中的链接。 浏览器窗口将打开,并显示 页面未找到 消息:

这是因为我们没有在文件 urls.py 中为
'/'指定路径。让我们在浏览器地址栏中添加
/index并按下 Enter 。
PyCharm 窗口出现。 您可以看到断点已命中, 调试 工具窗口在 线程与变量 选项卡中包含变量的当前值:

Django 应用程序的 调试工具窗口 具有与纯 Python 脚本类似的所有功能:
逐步执行程序
逐步执行工具栏处于活动状态,并且逐步执行按钮可用。 例如,您可以点击
并看到
char变量的值更改为单词world的下一个字母。欲了解更多信息,请参阅 逐步执行程序。
评估表达式
按 Alt+F8 ,或点击
上的 逐步执行工具栏 ,然后选择
对表达式求值。 在打开的对话框中,输入您希望评估的表达式,然后点击 计算:

有关更多信息,请参阅 计算表达式。
监视变量
假设您希望始终关注模板中的某个变量,例如
char。 如何做到这一点?在 线程与变量 工具窗口的 调试 选项卡顶部,输入感兴趣的变量名称,然后按
:

在调试过程的其余部分,变量的值将显示在变量列表的顶部。 欲了解更多信息,请参阅 监视。
就是这样……这里完成了什么? 让我们重复一遍:
您已经创建了一个包含模板的 Django 项目。
您已经向此模板添加了一个断点。
您已经以调试模式启动了 Django 服务器运行/调试配置。
在命中断点后,您已经学习了如何逐步执行模板、评估表达式以及添加监视。