配置完成后Django Debug Toolbar在Chrome及Firefox浏览器中不显示求助
Django-debug-toolbar 配置完成后不显示排查方案
以下为适配Django 3.1.4、Python 3.9版本的针对性排查步骤:
- 确认基础配置项完整
INSTALLED_APPS列表中已添加debug_toolbarMIDDLEWARE列表中已添加debug_toolbar.middleware.DebugToolbarMiddleware,注意该中间件需放在尽可能靠前的位置,优先级高于所有处理响应内容的中间件settings.py中已显式配置INTERNAL_IPS = ['127.0.0.1'],Django 3.1版本不支持自动识别本地访问IP,缺省该配置会直接导致工具不渲染
- 确认运行模式符合要求
settings.py中DEBUG配置值为True,debug toolbar仅在调试模式下生效,生产模式关闭DEBUG后默认不会加载
- 确认路由配置正确
- 根目录
urls.py中已添加工具专属路由,示例配置如下:from django.conf import settings from django.conf.urls import include from django.urls import path if settings.DEBUG: import debug_toolbar urlpatterns = [ path('__debug__/', include(debug_toolbar.urls)), ] + urlpatterns
- 根目录
- 确认返回内容符合注入要求
- 页面返回的是标准HTML格式,包含完整的闭合
</body>标签,debug toolbar会自动将自身脚本注入到该标签前,无该标签会导致注入失败 - 若返回内容为JSON、纯文本、文件等非HTML格式,不会触发工具渲染,属于正常逻辑
- 页面返回的是标准HTML格式,包含完整的闭合
- 确认版本兼容性
- 高版本django-debug-toolbar已不再兼容Django 3.1.4,需安装适配版本,执行命令:
pip install django-debug-toolbar==3.2.4即可
- 高版本django-debug-toolbar已不再兼容Django 3.1.4,需安装适配版本,执行命令:
- 确认浏览器无拦截
- 广告拦截、脚本拦截类浏览器扩展可能会拦截
__debug__前缀的请求或工具的静态脚本,可禁用所有扩展后使用隐身模式访问测试
所有配置修改后需重启Django服务生效。
- 广告拦截、脚本拦截类浏览器扩展可能会拦截
内容的提问来源于stack exchange,提问作者HamidReza Mohammadi
相关产品推荐
相关产品推荐

