You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 09:51:46