Django Debug Toolbar加载失败 报JS模块MIME类型text/plain错误
django-debug-toolbar 加载失败:JS模块MIME类型为text/plain报错修复
控制台报错信息如下:
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/plain". Strict MIME type checking is enforced for module scripts per HTML spec.
该问题核心是浏览器加载debug-toolbar的JS静态模块时,收到的响应MIME类型被错误标记为text/plain,不符合ES模块加载的MIME校验规则,按以下步骤逐一排查修复:
1. 核对settings.py的debug-toolbar必填配置
配置漏项、顺序错误是最常见的诱因,逐一核对:
- 确认本地开发环境
DEBUG = True,debug-toolbar仅在DEBUG模式下注入和加载 - 将
debug_toolbar加入INSTALLED_APPS,位置尽量靠前:
INSTALLED_APPS = [ "debug_toolbar", "django.contrib.admin", "django.contrib.auth", # 其余原有应用配置 ]
- 调整中间件顺序,
DebugToolbarMiddleware必须放在所有会修改响应内容的中间件之前(比如CommonMiddleware、GZipMiddleware):
MIDDLEWARE = [ "debug_toolbar.middleware.DebugToolbarMiddleware", # 其余原有中间件配置 ]
- 配置本地开发IP白名单:
INTERNAL_IPS = [ "127.0.0.1", "localhost", ]
- 确认静态文件基础配置正常,无自定义响应头篡改逻辑:
STATIC_URL = "static/"
2. 核对urls.py路由配置
debug-toolbar的路由必须加在DEBUG判断块内,写法如下,不要给__debug__/路径加任何自定义拦截、响应重写逻辑:
from django.conf import settings from django.urls import include, path urlpatterns = [ # 原有业务路由 ] if settings.DEBUG: import debug_toolbar urlpatterns = [ path("__debug__/", include(debug_toolbar.urls)), ] + urlpatterns
3. 修复Windows注册表JS文件MIME配置
在注册表中找不到.js对应的Content Type项时,直接手动新建即可:
- 按
Win+R输入regedit打开注册表编辑器,定位到HKEY_CLASSES_ROOT\.js路径 - 右键点击
.js项,选择「新建 > 字符串值」,名称设置为Content Type - 双击新建的字符串值,数值数据填
text/javascript,确认保存 - 重启Django开发服务,建议同步重启资源管理器或电脑让注册表配置全局生效
4. 兜底排查
以上步骤完成后仍报错的,逐一验证:
- Chrome下按
Ctrl+Shift+R硬刷新页面,清空旧的错误响应缓存 - 临时关闭系统代理、VPN、安全防护软件,这类工具可能篡改静态文件响应头
- 检查项目内是否有自定义中间件、静态文件服务逻辑,强制给响应加了
Content-Type: text/plain头 - 本地开发不要手动执行
collectstatic收集静态文件,使用Django默认的静态文件查找逻辑加载debug-toolbar的资源即可
内容的提问来源于stack exchange,提问作者Lucky Im
相关产品推荐
相关产品推荐

