无法让django-debug-toolbar出现

时间:2015-03-11 10:35:21

标签: django django-debug-toolbar

无论我做什么,我都无法让django-debug-toolbar出现。我已经尝试了every answer on this question中建议的所有内容。

  • 我的设置中有DEBUG=True
  • 我在django.contrib.staticfiles
  • 中有debug_toolbarINSTALLED_APPS
  • 'debug_toolbar.middleware.DebugToolbarMiddleware'
  • MIDDLEWARE_CLASSES高。{
  • 我的设置中有INTERNAL_IPS = ()
  • 我尝试在视图中添加print("IP Address for debug-toolbar: " + request.META['REMOTE_ADDR']),并打印IP Address for debug-toolbar: 127.0.0.1
  • 我的模板中有一个结束</body></html>
  • 我在virtualenv中运行pip install django-debug-toolbar,没有任何问题
  • 我已经运行python manage.py collectstatic并且我的静态文件中有一个debug_toolbar目录

当我运行应用程序时,我在控制台中看不到包含django_debug_toolbar的任何URL的请求,因此我怀疑应用程序未加载。

我也没有在开发者控制台中看到任何失败的请求。

我已经阅读了django-debug-toolbar installation docs并且没有想法。

有没有人有任何调试建议?我正在运行OSX和Django 1.7。奇怪的是调试工具栏看起来很好 - 我想我做了一些调整,导致它消失,但我不知道是什么。

更新:我甚至尝试在我的设置文件中添加它,这应该会强制显示工具栏:

def show_toolbar(request):
    return True
SHOW_TOOLBAR_CALLBACK = show_toolbar

但它没有帮助。

我还尝试在我的视图中抛出故意的异常,这样我就可以检查DEBUG是否已启动,所有设置如上所述。他们是,但仍然没有工具栏!

更新2:当我设置INTERNAL_IPS=('127.0.0.1',)时,我开始在控制台中看到调试工具栏请求,但页面上没有工具栏。

以下HTML显示在我的页面中 - 因此工具栏就在那里,但它不可见,因为它已经设置了display=none

enter image description here

6 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,但设法在dvl's comment on this page之后修复了它。以下是修复的摘要:

在settings.py中

if DEBUG:
    MIDDLEWARE += (
        'debug_toolbar.middleware.DebugToolbarMiddleware',
    )
    INSTALLED_APPS += (
        'debug_toolbar',
    )
    INTERNAL_IPS = ('127.0.0.1', )
    DEBUG_TOOLBAR_CONFIG = {
        'INTERCEPT_REDIRECTS': False,
    }

在项目urls.py中,将此网址格式添加到结尾:

from django.conf import settings

if settings.DEBUG:
    import debug_toolbar

    urlpatterns += [
        url(r'^__debug__/', include(debug_toolbar.urls)),
    ]

答案 1 :(得分:4)

display: none;的所有div实际上都表现得很好。他们不会更改为display: block;,直到您在工具栏中实际点击它们为止。

用于切换工具栏的按钮是带有id="djDebugToolbarHandle"的div。正如您在控制台中看到的那样,此按钮的top位置为2310px。这意味着正在渲染,但它只是在页面下方。

尝试在控制台中键入以下内容以重置其位置:

document.getElementById('djDebugToolbarHandle').style.top="30px";

答案 2 :(得分:3)

当虚拟或远程计算机上的开发时,新闻用户的一些信息

在views.py文件中添加此ligne

print("IP Address for debug-toolbar: " + request.META['REMOTE_ADDR'])

调用视图时,您可以在shell中看到客户端IP

您必须将此IP添加到settings.py文件中 INTERNAL_IPS =('IP')

答案 3 :(得分:1)

django-debug-toolbar可能出现但未正确显示的一个原因(项目卡在“正在加载”中)是否还没有运行manage.py collectstatic。我以为我会在这里发帖,以防有人帮忙。

答案 4 :(得分:0)

我遇到了同样的问题。更改我的settings.py中的finder模块对我有用:

func makeSexp(parserName string, values ...interface{}) interface{} {
    return append([]interface{}{parserName}, values...)
}

确保在此更改后清理浏览器缓存。

但在此之后,由于this issue,Django在STATICFILES_FINDERS = ( #'django.contrib.staticfiles.finders.FileSystemFinder', #THIS BREAKES debug_toolbar 'django.contrib.staticfiles.finders.AppDirectoriesFinder', #THIS WORKS ) 期间给了我错误消息。我解决了在settings.py中创建两个配置的问题:

collectstatic

我希望它有所帮助。

答案 5 :(得分:0)

我对 django-toolbar 有同样的问题

所有标签都有类 djdt-hidden 和隐藏

<div id="djDebug" class="djdt-hidden" dir="ltr" data-default-show="true">

我使用 pycharmGoogleChrome

只使用 FireFox 就修复了