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

Django模板引擎为何会替换script标签的type属性?

Django模板中script标签type属性被自动修改的问题

我的Django模板里有这样一段script标签:

<script type="text/plain" class="optanon-class">
  //code
</script>

这里的*type="text/plain"*非常关键,它能阻止浏览器加载HTML时立即执行脚本——我们的逻辑是通过Cookie同意流程,根据用户的同意偏好再运行这段代码。

但现在出现了问题:脚本还没经过用户同意就直接执行了。查看浏览器实际加载的HTML后发现,script标签的type属性被修改了:

<script type="text/javascript" class="optanon-class">
  //code
</script>

看起来是模板渲染过程中覆盖了type属性,奇怪的是class属性还保留着,我翻遍Django Template Language文档也没找到相关说明。

当前的配置很常规:模板后端用的是标准的django.template.backends.django.DjangoTemplates,视图在url_patterns里用TemplateView.as_view(template_name, {context}, name),引擎和视图都没有特殊配置。

我试过修改script的innerHTML,但问题根源显然在type属性上,完全不知道该怎么阻止模板引擎的这种自动修改行为。

内容的提问来源于stack exchange,提问作者avallet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:28:21