当我加载我的网站时,几乎所有时间调试工具栏都是空的,如下所示:
我在我的项目 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>
标记。
在一个成熟的项目中,这很难远程诊断。 在我真正帮助您之前,您必须将问题减少到最小的测试用例。
如果您删除了DEBUG_TOOLBAR_PANELS
和DEBUG_TOOLBAR_CONFIG
设置并且还从INSTALLED_APPS
中删除debug_toolbar_mongo
,问题是否仍然存在?
如果没有,是否可以一一重新添加真正需要的设置,直到找到触发问题的设置?
事实上,我怀疑'TAG': 'div',
在您的配置中不正确。
如果您可以在调试工具栏中将其简化为更具体的问题,请重新打开。
同样的问题
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'),
# }
谢谢
是的,我刚刚更新了文档以提醒读者盲目地复制粘贴内容而不试图理解它可能会产生低于标准的结果。
最有用的评论
是的,我刚刚更新了文档以提醒读者盲目地复制粘贴内容而不试图理解它可能会产生低于标准的结果。