Django Debug Toolbar работает только для административной секции - PullRequest
9 голосов
/ 16 апреля 2011

Эй, я уже некоторое время пользуюсь Django 1.2.1, и на днях наткнулся на Django Debug Toolbar.Это выглядит очень полезным, и я действительно хочу попробовать кое-что.

Я установил именно то, что сказал readme.Шаг за шагом.Я ставлю промежуточное ПО на конец, на случай, если что-нибудь начнется, но я использую стандартное промежуточное ПО (common, session, auth и csrf).Тем не менее, он не будет отображаться ни на одной из моих страниц.Я попытался переместить промежуточное программное обеспечение, но с тем же эффектом.

Кажется, что я установил что-то неправильно.Но когда я загружаю административную часть django, панель инструментов появляется.Я не уверен, что я делаю неправильно.Может ли содержимое моих страниц повлиять на появление панели инструментов?Он выводит текст MIME / HTML ...

В любом случае, любая помощь очень ценится.Заранее спасибо.

Вот мой Settings.py: pastebin.com/Hu8TgANt

Ответы [ 7 ]

9 голосов
/ 25 мая 2011

Панель инструментов отладки требует, чтобы в ответном HTML-коде был хотя бы закрывающий тег .

Этот тег можно изменить, изменив settings.DEBUG_TOOLBAR_CONFIG['INSERT_BEFORE']

http://django -debug-toolbar.readthedocs.org/en/latest/configuration.html#toolbar-options

4 голосов
/ 22 апреля 2011

У меня была такая же проблема здесь, и в конце концов я пришел к этому сообщению ... В любом случае, в моем случае я заметил, что у меня была ошибка javascript в одной из моих библиотек, включенных в js. И это нарушило поток интерпретации JS. Когда я исправил ошибку javascript, панель инструментов django работала.

Это объясняет, почему это работает на страницах администратора, а не на страницах моего приложения.

4 голосов
/ 16 апреля 2011

Несколько подсказок, не зная вашего кода:

  • 'debug_toolbar.middleware.DebugToolbarMiddleware' должен быть вашим последним или вторым по последнему входом промежуточного программного обеспечения (не уверен на 100%, как это работает с flatpage fallbackmiddleware)
  • 'debug-toolbar' как последний в списке INSTALLED_APPS
  • Двойная проверка, загружены ли активы панели инструментов
  • Убедитесь, что все настройки панели инструментов установлены.(DEBUG_TOOLBAR_CONFIG, INTERNAL_IPS) и т. Д.

Ошибка должна быть в этом.Я знаю о других проблемах, связанных с отображением панели инструментов на плоских страницах, поэтому, если вы проверяли только на плоских страницах, я предлагаю вам попробовать ее на другом модуле.

3 голосов
/ 14 августа 2011

Отсутствует ключ INTERNAL_IPS в settings.py влияет на видимость панели инструментов. Добавление этого решает проблему:

INTERNAL_IPS = ('127.0.0.1',)
2 голосов
/ 12 февраля 2016

В моем случае я использовал Google Material Design Lite в качестве основы веб-интерфейса,

, который имеет определение стиля,

*[hidden]{
    display:none!important;
}

этот стиль применяется к элементам панели отладки, которые ничего не отображают.

быстрый обходной путь - изменить определение стиля MDL (возможно только на локальных таблицах стилей, но не с размещенным cdn) на

*[hidden]{
    display:none;
}
2 голосов
/ 28 июня 2013

У меня была похожая проблема.Решением было закрытие div как непустого элемента HTML.

От этого

<body>
...
    <div id="map-canvas"/>
...
</body>

к этому

<body>
...
    <div id="map-canvas"></div>
...
</body>

Надеюсь, это поможет!

0 голосов
/ 14 апреля 2013

В моем случае ошибка была очень простой.

Я удалил нижний колонтитул, и он заработал как шарм!

Надеюсь, это решит проблему для кого-то еще.

...