13

无论我做什么,我都无法让 django-debug-toolbar 出现。我已经尝试了这个问题的每个答案中建议的所有内容。

  • 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>我的模板中有一个结束
  • 我已经pip install django-debug-toolbar在我的 virtualenv 中运行,没有任何问题
  • 我已经运行并且我的静态文件中python manage.py collectstatic有一个目录debug_toolbar

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

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

我已经阅读了django-debug-toolbar 安装文档并且没有想法。

有人对调试有什么建议吗?我正在运行 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设置在它上面:

在此处输入图像描述

4

6 回答 6

8

我遇到了同样的问题,但在dvl 在此页面上的评论之后设法解决了它。以下是修复的摘要:

在 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)),
    ]
于 2016-12-17T12:48:02.990 回答
7

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

在views.py 文件中添加这个ligne

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

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

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

于 2017-04-24T20:26:15.700 回答
4

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

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

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

document.getElementById('djDebugToolbarHandle').style.top="30px";
于 2015-03-11T11:07:40.713 回答
1

我有同样的问题。在我的 settings.py 中更改查找器模块对我有用:

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

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

collectstatic但在此之后,由于这个问题,Django 在 期间给了我错误消息。我解决了在我的 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',
   )

我希望它有所帮助。

于 2017-09-02T10:59:23.827 回答
1

django-debug-toolbar 可能出现但无法正确显示的原因之一(项目卡在“正在加载”中)是如果 manage.py collectstatic 尚未运行。只是想我会在这里发布,以防它帮助某人。

于 2018-02-19T20:04:36.230 回答
0

我有同样的问题django-toolbar

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

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

我使用pycharmGoogleChrome

只是使用FireFox它已修复

于 2021-02-17T17:49:36.680 回答