Панель инструментов отладки 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,
}