2

我有一个新项目,我正在尝试设置 Django 调试工具栏。首先,我尝试了快速设置,它只涉及添加'debug_toolbar'到我的已安装应用程序列表中。有了这个,当我转到我的根 URL 时,调试工具栏出现了,但它不适用于我的应用程序 urls/views。我现在不应该那样,我的根 URL 没有链接到视图,所以它显示了一个 django 错误页面。

由于快速启动不起作用,我使用了显式设置。我更新了我的设置文件:

DEBUG_TOOLBAR_PATCH_SETTINGS = False

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'debug_toolbar.middleware.DebugToolbarMiddleware',
)

并更新了我的项目级 urls.py:

if settings.DEBUG: # make sure the toolbar is above ?CKeditor and FeinCMS
    import debug_toolbar
    urlpatterns += patterns('',
        url(r'^__debug__/', include(debug_toolbar.urls)),
    )

但现在它并没有出现在任何地方。

在我的应用视图中,我{% debug %}在模板中添加了一个。模板调试输出似乎表明调试工具栏中间件已加载:

 'debug_toolbar': <module 'debug_toolbar' from '/home/joseph/.virtualenvs/myproject/local/lib/python2.7/site-packages/debug_toolbar/__init__.pyc'>,
 'debug_toolbar.collections': None,
 'debug_toolbar.compat': <module 'debug_toolbar.compat' from '/home/joseph/.virtualenvs/myproject/local/lib/python2.7/site-packages/debug_toolbar/compat.pyc'>,
 'debug_toolbar.django': None,
 'debug_toolbar.importlib': None,
 'debug_toolbar.middleware': <module 'debug_toolbar.middleware' from '/home/joseph/.virtualenvs/myproject/local/lib/python2.7/site-packages/debug_toolbar/middleware.pyc'>,

我不确定为什么这不起作用。我的 django 版本是 1.8,我的调试工具栏版本是 1.3.2。

4

1 回答 1

2

<body></body>我对这个问题的解决方案是在模板中添加标签。

我是从 django-debug-toolbar 网站上的“提示”部分得到的。

只有在项目设置中的 DEBUG = True 时才会显示调试工具栏。它也只会在响应的 mimetype 是 text/html 或 application/xhtml+xml并且包含结束</body>标记时显示。

来源:django-debug-toolbar.readthedocs.io/en/stable/tips.html

如果工具栏在索引页面(或任何其他页面)上有效,但在另一个页面上无效,则可能是缺少正文标签的原因。

于 2018-01-10T17:34:46.450 回答