Проблемы с установкой Django Debug Toolbar

У меня возникают проблемы при попытке запустить и запустить https://github.com/dcramer/django-debug-toolbar/. У меня есть вся необходимая информация, добавленная в INSTALLED_APPS, MIDDLEWARE_CLASSESи мой ip находится в INTERNAL_IPS кортеж. Я запустил скрипт setup.py, и все, кажется, загружается нормально, так как я не получаю ошибок от django или apache.

Однако ничего не происходит - нет панели инструментов на каких-либо страницах, кто-нибудь еще видел такое поведение? Я что-то упускаю из виду?

2 ответа

Решение

У меня была такая же проблема некоторое время.

Вы пробовали войти в админку? Если панель инструментов отображается там, но не отображается в вашем коде, вполне вероятно, что вы пропустили открывающий и закрывающий теги в своем шаблоне. По умолчанию панель инструментов отладки django присоединяется к тегу BODY, хотя вы можете изменить это поведение, если хотите. Смотрите этот вопрос: Панель инструментов отладки Django, работающая только для раздела администратора

Я бы сделал одну из двух вещей:

вставить import pdb; pdb.set_trace() в промежуточном программном обеспечении _show_toolbar метод и посмотрите, на каком элементе он не работает, или добавьте промежуточное программное обеспечение с инструкциями print, чтобы увидеть, на какой проверке произошел сбой, в зависимости от того, с чем вам удобнее.

def _show_toolbar(self, request, response=None):
        if not settings.DEBUG or not getattr(settings, 'DEBUG_TOOLBAR', True) or getattr(settings, 'TEST', False):
            return False

        if request.path.startswith(settings.MEDIA_URL):
            return False

        if response:
            if getattr(response, 'skip_debug_response', False):
                return False
            if response.status_code >= 300 and response.status_code < 400:
                return False

        # Allow access if remote ip is in INTERNAL_IPS or
        # the user doing the request is logged in as super user.
        if (not request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS and 
           (not request.user.is_authenticated() or not request.user.is_superuser)):
            return False
        return True
Другие вопросы по тегам