Django debug显示页面的所有变量

eam*_*man 77 django variables debugging templates

是否有模板标签(或任何其他技巧)我可以用来显示页面中可用的所有变量?

Ker*_*ght 113

如果启用了DEBUG,则会有一个名为{%debug%}模板标记


Rob*_*ujo 79

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

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

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

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

  3. Django调试工具栏 - 为此目的有一个模板面板

通常,所有调试功能仅在应用处于DEBUG模式时有效.


the*_*ist 14

专家提示.使用textarea和自动选择onclick更容易复制粘贴:

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


Tom*_*Tom 10

调试工具栏,这一切和更多,更多.有关详情,请参阅截屏视频.如果你真的只想要变量,你可以试试

assert False, locals()
Run Code Online (Sandbox Code Playgroud)

在你看来


Aar*_*uyn 6

一个稍微复杂的解决方案和更好的奖励是加载django-debug-toolbar(这里的文档)

有一个名为"模板"的选项,其中包含"切换上下文"的另一个选项,您可以看到传递给模板的所有变量,以及查看模板背后的代码的功能.

django-debug-toolbar模板调试示例