Как мне увидеть панель инструментов отладки Django? - PullRequest
27 голосов
/ 17 июня 2011

У меня есть веб-приложение Django.Я установил промежуточное ПО и модуль debug_toolbar.Тем не менее, мои веб-приложения не имеют выдвигающейся панели инструментов отладки.

Как на самом деле я вижу панель инструментов отладки?Есть ли что-то еще, что мне нужно сделать?Нужно ли использовать определенный шаблон для моего веб-приложения?Я выполнил все шаги в README, но этого недостаточно - кажется, есть какая-то другая зависимость или что-то еще, что я упускаю.

Кроме того, при просмотре набора шаблонов URL дляВ моем веб-приложении префикс debug равен , а не среди распознанных шаблонов.Я поместил журнал в urls.py в debug_toolbar, чтобы убедиться, что модули загружаются активированным приложением debug_toolbar, и это так.

Это полностью меня озадачило, и я не могу найти Google или READMEо том, что нужно сделать, чтобы это действительно отображалось, или каковы требования, поэтому любой указатель, который вы можете предоставить, был бы великолепен!

Редактировать: Оказывается, я проверял это с SSH-туннелем с компьютеразапустив браузер на машине с запущенной Django / Apache.В этом случае IP-адрес, фактически видимый для удаленной машины, не был тем, чем я думал, поэтому список «хороших» IP-адресов не содержал видимую удаленную машину браузера.Исправление, которое решило проблему!

1 Ответ

48 голосов
/ 17 июня 2011
  1. Как я знаю, ваша HTML-страница должна содержать закрытый тег, метатег с content="text/html".

  2. Я предпочитаю, когда все настройки панели отладки инструментовотделен от основных настроек.Поэтому попробуйте положить в конец settings.py что-то вроде

    #debug_toolbar settings
    if DEBUG:
        INTERNAL_IPS = ('127.0.0.1',)
        MIDDLEWARE_CLASSES += (
            'debug_toolbar.middleware.DebugToolbarMiddleware',
        )
    
        INSTALLED_APPS += (
            'debug_toolbar',
        )
    
        DEBUG_TOOLBAR_PANELS = [
            'debug_toolbar.panels.versions.VersionsPanel',
            'debug_toolbar.panels.timer.TimerPanel',
            'debug_toolbar.panels.settings.SettingsPanel',
            'debug_toolbar.panels.headers.HeadersPanel',
            'debug_toolbar.panels.request.RequestPanel',
            'debug_toolbar.panels.sql.SQLPanel',
            'debug_toolbar.panels.staticfiles.StaticFilesPanel',
            'debug_toolbar.panels.templates.TemplatesPanel',
            'debug_toolbar.panels.cache.CachePanel',
            'debug_toolbar.panels.signals.SignalsPanel',
            'debug_toolbar.panels.logging.LoggingPanel',
            'debug_toolbar.panels.redirects.RedirectsPanel',
        ]
    
        DEBUG_TOOLBAR_CONFIG = {
            'INTERCEPT_REDIRECTS': False,
        }
    

(Примечание: Lapis обновил конфиги выше, чтобы соответствовать именам, используемым текущим (во время этогообновление, 1.3.2) версия панели инструментов отладки Django. Per http://django -debug-toolbar.readthedocs.org / en / 0.10.0 / Panel.html , оригинальные версии (которые использовали, например, debug_toolbar.panels.sql.SQLDebugPanel против debug_toolbar.panels.sql.SQLPanel, как и в 1.3.2), были правильными, когда на этот вопрос был первоначально дан ответ.)

(примечание: после Django 1.10, MIDDLEWARE_CLASSES должно быть MIDDLEWARE.)

...