Django调试显示页面的所有变量


Answers:



85

有几个选项(其中一些已经在前面列出):

  1. django内置的调试标签-我使用此样板来正确显示它:

    <pre> {%filter force_escape%} {%debug%} {%endfilter%} </ pre>

  2. 使用django模板调试应用程序的标签(例如属性,变量和详细信息),或者甚至可以在模板内部设置断点,使用pdb调试器(或ipdb)检查所有内容

  3. Django调试工具栏-具有用于此目的的模板面板

通常,所有调试功能仅在应用程序处于调试模式时才起作用。


16

专家提示。使用textarea并自动选择onclick以便于复制粘贴:

<textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>

10

调试工具栏做所有这和很多很多。有关更多信息,请参见截屏。如果您只是想要变量,可以尝试

assert False, locals()

在你看来


谢谢。当我使用通用视图时,是否有一种方法可以召唤“断言,locals()”
eaman 2010年

伙计们,我已经调试并安装了工具栏,并且可以正常工作,但是它没有显示模板中所有可用的变量……我是否缺少某些东西。 ?
Derek Organ

如果您编写了自定义视图,则将其放在视图的末尾。如果您使用的是通用视图,则需要将其包装在自己的视图中。无论如何,我认为这行得通。
汤姆(Tom),2010年

8

奖励更高的一个稍微复杂的解决方案是加载django-debug-toolbar此处的文档)

有一个名为“模板”的选项,另一个为“切换上下文”的选项,您可以看到传递给模板的所有变量,还可以查看模板背后的代码。

django-debug-toolbar模板调试示例


我得到的'<<triggers database query>>'就是价值
斯蒂芬,

我会阅读文档,如果失败,我会去django-debug-toolbar项目并寻求帮助:github.com/jazzband/django-debug-toolbar
Aaron C. de Bruyn

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.