Панель инструментов отладки django не работает со статического IP на виртуальной машине

У меня есть виртуальная машина, и я выделил ей статический IP для локального использования. 192.168.1.23 У меня на виртуальной машине django работает 127.0.0.1:8000. Я устанавливаю django-debug-toolbar в приложении, а затем примените следующие настройки:

DEBUG = True

INSTALLED_APPS += (
    'debug_toolbar',
)

INTERNAL_IPS = ('127.0.0.1', '192.168.1.23')

DEBUG_TOOLBAR_CONFIG = {'INTERCEPT_REDIRECTS': False,}

MIDDLEWARE_CLASSES += (
    'debug_toolbar.middleware.DebugToolbarMiddleware',
)

DEBUG_TOOLBAR_PANELS = (
    'debug_toolbar.panels.version.VersionDebugPanel',
    'debug_toolbar.panels.timer.TimerDebugPanel',
    'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
    'debug_toolbar.panels.headers.HeaderDebugPanel',
    'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
    'debug_toolbar.panels.template.TemplateDebugPanel',
    'debug_toolbar.panels.sql.SQLDebugPanel',
    'debug_toolbar.panels.signals.SignalDebugPanel',
    'debug_toolbar.panels.logger.LoggingPanel',
)

Я не могу видеть это ни в админке, ни на сайте. Что может быть не так? Нет проблем с HTML, и страница имеет тег body. В чем может быть возможная ошибка?

РЕДАКТИРОВАТЬ: request.META['REMOTE_ADDR'] 127.0.0.1

1 ответ

Решение

Это работает для меня, где XXX это желаемый IP-адрес:

def custom_show_toolbar(request):
    if request.META['REMOTE_ADDR'] == 'XXX.XXX.XXX.XXX':
        return True
    else:
        return False

DEBUG_TOOLBAR_CONFIG = {
    'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
    'INTERCEPT_REDIRECTS': False,
    }

Обновление: Начиная с версии 1.0, SHOW_TOOLBAR_CALLBACK должен быть пунктирным путем, поэтому настройка выглядит больше как:

DEBUG_TOOLBAR_CONFIG = {
    'SHOW_TOOLBAR_CALLBACK': 'dotted.path.to.custom_show_toolbar',
    'INTERCEPT_REDIRECTS': False,
}
Другие вопросы по тегам