无法让 django-debug-toolbar 出现

Cannot get django-debug-toolbar to appear

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

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

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

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

有人对调试有什么建议吗?我是 运行ning OSX 和 Django 1.7。奇怪的是 debug-toolbar 看起来很好——我想我做了一些调整导致它消失了,但我不知道是什么。

更新:我什至尝试将此添加到我的设置文件中,这应该会强制显示工具栏:

def show_toolbar(request):
    return True
SHOW_TOOLBAR_CALLBACK = show_toolbar

但这并没有帮助。

我也试过在我看来故意抛出一个异常,这样我就可以检查 DEBUG 是否打开,所有设置是否如上。他们是,但仍然没有工具栏!

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

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

具有 display: none; 的所有 div 实际上都表现正常。在您实际在工具栏中单击它们之前,它们不会更改为 display: block;

用于切换工具栏的按钮是带有 id="djDebugToolbarHandle" 的 div。正如您在控制台中所见,此按钮的 top 位置为 2310px。这意味着它正在呈现,但它就在页面下方。

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

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

我遇到了同样的问题,但在 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 中,将此 url 模式添加到末尾:

from django.conf import settings

if settings.DEBUG:
    import debug_toolbar

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

在虚拟机或远程机器上进行开发时,为像我这样的新闻用户提供的一些信息

将此行添加到 views.py 文件中

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

views调用时,可以在shell

中看到客户端IP

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

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

STATICFILES_FINDERS = (
    #'django.contrib.staticfiles.finders.FileSystemFinder', #THIS BREAKES debug_toolbar
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', #THIS WORKS
)

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

但是在这之后,由于 this issue,Django 在 collectstatic 期间给了我错误信息。我解决了在 settings.py:

中创建两个配置的问题
class Production(Base):
   DEBUG = False
   STATICFILES_FINDERS = (
      'django.contrib.staticfiles.finders.FileSystemFinder',
   )

class Develop(Base):
   DEBUG = True
   STATICFILES_FINDERS = (
      'django.contrib.staticfiles.finders.AppDirectoriesFinder',
   )

希望对您有所帮助。

django-debug-toolbar 可能出现但未正确显示(项目卡在 "Loading" 中)的一个原因是 manage.py collectstatic 尚未 运行。只是想我会 post 以防万一它对某人有帮助。

我和 django-toolbar

有同样的问题

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

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

我使用 pycharmGoogleChrome

只需使用 FireFox 即可修复