我有一个Django webapp。我已经安装了debug_toolbar中间件和模块。 但是,我的webapps没有调试工具栏拉出。
我如何实际看到调试工具栏?还有什么我需要做的吗? 我是否需要为我的webapp使用特定模板?我已经按照自述文件中的所有步骤进行了操作,但这还不够 - 似乎还有一些其他的依赖项,或者我缺少的其他内容。
此外,在查看我的webapp的URL模式集时,调试前缀在识别的模式中找不到 。我在debug_toolbar中放入了一个urls.py日志,以确保模块被激活的debug_toolbar应用程序加载,并且它是。
这让我完全神秘,我找不到谷歌或自述文件来做这个实际显示,或者要求是什么,所以你能提供的任何指针都会很棒!
编辑:事实证明,我正在使用SSH隧道从运行浏览器的机器到运行Django / Apache的机器进行测试。在这种情况下,远程机器实际看到的IP地址不是我想象的那样,因此“好”IP列表不包含浏览器的明显远程机器。修复了解决问题的方法!
答案 0 :(得分:48)
据我所知,您的HTML网页必须包含封闭的正文标记,包含content="text/html"
的元标记。
我更喜欢所有调试工具栏的设置从主设置中分离出来的方式。所以尝试将settings.py放在像
这样的结尾处#debug_toolbar settings
if DEBUG:
INTERNAL_IPS = ('127.0.0.1',)
MIDDLEWARE_CLASSES += (
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
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.staticfiles.StaticFilesPanel',
'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_CONFIG = {
'INTERCEPT_REDIRECTS': False,
}
(编辑说明:lapis更新了上面的配置,以匹配当前(在本次更新时为1.3.2)Django调试工具栏版本所使用的名称。每http://django-debug-toolbar.readthedocs.org/en/0.10.0/panels.html,原始版本(当这个问题是原始答案时,使用例如debug_toolbar.panels.sql.SQLDebugPanel vs debug_toolbar.panels.sql.SQLPanel,如1.3.2)是正确的。)
(注意:在Django 1.10之后,MIDDLEWARE_CLASSES
应为MIDDLEWARE
。)