Django-debug-toolbar: 调试工具栏面板几乎总是空的

创建于 2013-11-22  ·  6评论  ·  资料来源: jazzband/django-debug-toolbar

当我加载我的网站时,几乎所有时间调试工具栏都是空的,如下所示:

http://imgur.com/fj49NHX

我在我的项目 settings.py 中进行了以下配置

DEBUG = True
TEMPLATE_DEBUG = DEBUG

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    )

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.webdesign',
    # Uncomment the next line to enable the admin:
     'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
     'django.contrib.admindocs',
     'django.contrib.humanize',
     'django.contrib.staticfiles',
     'watrbuzz',
     'watrworld',
     'accounts',
     'whregistration',
     'whprofiles',
     'analytical',
     'watrdata',
     'watrplace',
     'analytical',
     'debug_toolbar',
     'debug_toolbar_mongo',
)

INTERNAL_IPS = (
    '127.0.0.1', 
    'XX.XX.XXX.XXX',
)

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.sql.SQLDebugPanel',
    'debug_toolbar.panels.template.TemplateDebugPanel',
    'debug_toolbar.panels.cache.CacheDebugPanel',
    'debug_toolbar.panels.signals.SignalDebugPanel',
    'debug_toolbar.panels.logger.LoggingPanel',
    #'debug_toolbar.panels.redirects.InterceptRedirectsPanel',
    'debug_toolbar_mongo.panel.MongoDebugPanel',
)

def show_toolbar(request):
    return True


DEBUG_TOOLBAR_CONFIG = {
    'INTERCEPT_REDIRECTS': False,
    #'SHOW_TOOLBAR_CALLBACK': show_toolbar,
    # 'EXTRA_SIGNALS': ['myproject.signals.MySignal'],
    #'HIDE_DJANGO_SQL': False,
    'TAG': 'div',
    'DEBUG_TOOLBAR_MEDIA_ROOT' : ' /usr/lib/python2.7/site-packages/debug_toolbar/', 
    'RENDER_PANELS' : True
    }

如果我强制我的 web 应用程序显示回溯,我确实会看到面板已填充。 这些页面采用 HTML 格式,并且具有必要的<html></html> <body></body>标记。

最有用的评论

是的,我刚刚更新了文档以提醒读者盲目地复制粘贴内容而不试图理解它可能会产生低于标准的结果。

所有6条评论

在一个成熟的项目中,这很难远程诊断。 在我真正帮助您之前,您必须将问题减少到最小的测试用例。

如果您删除了DEBUG_TOOLBAR_PANELSDEBUG_TOOLBAR_CONFIG设置并且还从INSTALLED_APPS中删除debug_toolbar_mongo ,问题是否仍然存在?

如果没有,是否可以一一重新添加真正需要的设置,直到找到触发问题的设置?

事实上,我怀疑'TAG': 'div',在您的配置中不正确。

如果您可以在调试工具栏中将其简化为更具体的问题,请重新打开。

同样的问题

http://snag.gy/FCYng.jpg

MIDDLEWARE_CLASSES = (
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

INTERNAL_IPS = ('127.0.0.1', 'XXX.XXX.XXX.XXX',)

INSTALLED_APPS += (
    'debug_toolbar',
)


DEBUG_TOOLBAR_PANELS = [
    'debug_toolbar.panels.versions.VersionsPanel',
    'debug_toolbar.panels.timer.TimerPanel',
    'debug_toolbar.panels.settings.SettingsPanel',
    'debug_toolbar.panels.headers.HeadersPanel',
    'debug_toolbar.panels.request.RequestPanel',
    'debug_toolbar.panels.sql.SQLPanel',
    'debug_toolbar.panels.templates.TemplatesPanel',
    'debug_toolbar.panels.cache.CachePanel',
    'debug_toolbar.panels.signals.SignalsPanel',
    'debug_toolbar.panels.logging.LoggingPanel',
    'debug_toolbar.panels.redirects.RedirectsPanel',
    'debug_toolbar.panels.profiling.ProfilingPanel',
]

def custom_show_toolbar(request):
    return True  # Always show toolbar, for example purposes only.

DEBUG_TOOLBAR_CONFIG = {
    'INTERCEPT_REDIRECTS': True,
    'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
    'EXTRA_SIGNALS': ['myproject.signals.MySignal'],
    'HIDE_DJANGO_SQL': False,
    'TAG': 'div',
    'ENABLE_STACKTRACES': True,
    'HIDE_IN_STACKTRACES': ('gunicorn', 'newrelic'),
}

姜戈 1.6

您确定DEBUG_TOOLBAR_CONFIG中的值对您的项目有意义吗?

如果您完全删除DEBUG_TOOLBAR_CONFIG会发生什么? 我很确定默认设置会比这个配置更好。

我已经删除了部分设置,现在它可以工作了,但它应该在文档中明确说明

MIDDLEWARE_CLASSES = (
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

INTERNAL_IPS = ('127.0.0.1', 'XXX.XXX.XXX.XXX',)

INSTALLED_APPS += (
    'debug_toolbar',
)

# DEBUG_TOOLBAR_PANELS = [
#     'debug_toolbar.panels.versions.VersionsPanel',
#     'debug_toolbar.panels.timer.TimerPanel',
#     'debug_toolbar.panels.settings.SettingsPanel',
#     'debug_toolbar.panels.headers.HeadersPanel',
#     'debug_toolbar.panels.request.RequestPanel',
#     'debug_toolbar.panels.sql.SQLPanel',
#     'debug_toolbar.panels.templates.TemplatesPanel',
#     'debug_toolbar.panels.cache.CachePanel',
#     'debug_toolbar.panels.signals.SignalsPanel',
#     'debug_toolbar.panels.logging.LoggingPanel',
#     'debug_toolbar.panels.redirects.RedirectsPanel',
#     'debug_toolbar.panels.profiling.ProfilingPanel',
# ]

# def custom_show_toolbar(request):
#     return True  # Always show toolbar, for example purposes only.

# DEBUG_TOOLBAR_CONFIG = {
#     'INTERCEPT_REDIRECTS': True,
#     'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
#     'EXTRA_SIGNALS': ['myproject.signals.MySignal'],
#     'HIDE_DJANGO_SQL': False,
#     'TAG': 'div',
#     'ENABLE_STACKTRACES': True,
#     'HIDE_IN_STACKTRACES': ('gunicorn', 'newrelic'),
# }

谢谢

是的,我刚刚更新了文档以提醒读者盲目地复制粘贴内容而不试图理解它可能会产生低于标准的结果。

此页面是否有帮助?
0 / 5 - 0 等级