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
Если панель инструментов работает на индексной странице (или любой другой), но не на другой, вероятно, причина в отсутствующих тегах тела.