Django调试工具栏仅适用于管理员部分

时间:2011-04-16 05:59:04

标签: python django django-debug-toolbar

嘿 我已经使用Django 1.2.1一段时间了,前几天遇到了Django Debug Toolbar。它看起来非常有用,我真的很想尝试一些东西。

我安装了自述文件。一步步。我把中间件放在最后,以防万一,但是我使用的是相当标准的中间件(常见的,会话,auth和csrf)。但是,它不会显示在我的任何页面上。我试过移动中间件但效果相同。

好像我安装错了。但是,当我加载django的Admin部分时,工具栏会弹出。我不确定我做错了什么。我的页面内容能否影响工具栏?它输出的是mime text / html ...

无论如何,非常感谢任何帮助。提前谢谢。

这是我的Settings.py:pastebin.com/Hu8TgANt

7 个答案:

答案 0 :(得分:9)

调试工具栏要求至少有一个结束< / body>回复HTML中的标记。

可以通过更改settings.DEBUG_TOOLBAR_CONFIG['INSERT_BEFORE']

来更改此标记

http://django-debug-toolbar.readthedocs.org/en/latest/configuration.html#toolbar-options

答案 1 :(得分:4)

在不知道你的代码的情况下发现了一些问题:

  • 'debug_toolbar.middleware.DebugToolbarMiddleware'应该是你的最后一个或第二个中间件条目(不是100%确定如何使用flatpagefallback中间件)
  • 'debug-toolbar'作为INSTALLED_APPS列表中的最后一个
  • 仔细检查工具栏的资产是否已加载
  • 确保已设置所有工具栏设置。 (DEBUG_TOOLBAR_​​CONFIG,INTERNAL_IPS)等。

错误应该在那里。我知道有关将工具栏显示在平面页面上的其他问题,所以如果你只检查平面页面,我建议你在另一个模块上试试。

答案 2 :(得分:4)

我在这里遇到了同样的问题,并最终到达了这个帖子......无论如何,在我的情况下,我注意到我的一个js包括库中有一个javascript错误。这打破了js的解释流程。当我修复了javascript错误时,django工具栏工作了。

这解释了为什么它在管理页面中有效,但在我的应用页面中却没有。

答案 3 :(得分:3)

settings.py 中缺少INTERNAL_IPS键会影响工具栏的可见性。添加此项可解决此问题:

INTERNAL_IPS = ('127.0.0.1',)

答案 4 :(得分:2)

我有类似的问题。解决方案是将div作为非空HTML元素关闭。

从此

<body>
...
    <div id="map-canvas"/>
...
</body>

到这个

<body>
...
    <div id="map-canvas"></div>
...
</body>

希望它有所帮助!

答案 5 :(得分:2)

就我而言,我使用Google Material Design Lite作为前端框架,

具有样式定义

*[hidden]{
    display:none!important;
}

此样式应用于调试工具栏的元素,导致不显示任何内容。

快速解决方法是更改​​MDL的样式定义(仅适用于本地样式表,而不是使用cdn托管)

*[hidden]{
    display:none;
}

答案 6 :(得分:0)

在我的情况下,错误非常简单。

我删除了页脚,它就像一个魅力!

希望这能为其他人解决问题。