Django Debug Toolbar отображается в корневом URL, но не в URL приложения

У меня новый проект, и я пытаюсь настроить Django Debug Toolbar. Сначала я попробовал быструю настройку, которая включает в себя только добавление 'debug_toolbar' в мой список установленных приложений. При этом панель инструментов отладки появилась, когда я перешел к своему корневому URL, но она не работала для URL / просмотров моего приложения. Я не должен, что в настоящее время мой корневой 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.

1 ответ

Мое решение этой проблемы было добавить <body></body> теги к шаблону.

Я получил его из раздела "Советы" на сайте панели инструментов django-debug-toolbar.

Панель инструментов отладки будет отображаться только когда DEBUG = True в настройках вашего проекта. Он также будет отображаться только в том случае, если mimetype ответа является либо text/html, либо application/xhtml+xml и содержит закрывающий </body> тег.

Источник: https://django-debug-toolbar.readthedocs.io/en/stable/tips.html

Если панель инструментов работает на индексной странице (или любой другой), но не на другой, вероятно, причина в отсутствующих тегах тела.

Другие вопросы по тегам