2

我有一个虚拟机,我为它指定了一个静态 IP 供本地使用。192.168.1.23 我在 127.0.0.1:8000 的 VM 上运行 django。我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

4

1 回答 1

4

这对我有用,其中 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,
}
于 2012-09-11T09:48:28.253 回答