django调试工具栏无法在虚拟机上使用静态IP

时间:2012-09-11 08:39:06

标签: django django-debug-toolbar

我有一台虚拟机,我为其提供了一个静态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问题,页面有正文标记。 什么可能是错误?

编辑:request.META['REMOTE_ADDR']是127.0.0.1

1 个答案:

答案 0 :(得分: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,
}