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

Django项目中Highlight.js无法代码着色仅生成span标签求助

Django中Highlight.js仅生成Span标签但不着色的排查方案
  • 检查样式文件加载状态
    确认Highlight.js的样式文件路径正确,本地文件要通过Django的{% static %}标签引入,CDN链接要确保可访问。打开浏览器F12的「网络」面板,查看样式文件是否返回200状态码,有没有加载失败的情况。
    正确引入示例:

    <link rel="stylesheet" href="{% static 'highlight/styles/github-dark.min.css' %}">
    
  • 核对代码块的HTML结构
    Highlight.js要求代码块必须是<pre><code class="language-python">的嵌套结构,不能直接用<code>或嵌套错误。
    错误写法:

    <div class="language-python">
      <code>print("hello world")</code>
    </div>
    

    正确写法:

    <pre><code class="language-python">print("hello world")</code></pre>
    
  • 调整初始化逻辑
    如果页面存在动态加载的内容(比如AJAX渲染、模板动态插入代码块),hljs.initHighlightingOnLoad()只会处理页面首次加载的元素,此时换成hljs.highlightAll()并放在DOM加载完成后执行:

    document.addEventListener('DOMContentLoaded', function() {
      hljs.highlightAll();
    });
    

    同时要保证Highlight.js的脚本在代码块之后引入,或者初始化代码在DOM完全渲染后执行。

  • 检查类名拼写
    确认代码块的class属性是language-python(必须以language-开头),别写成lang-python或者其他错误格式,Highlight.js对类名前缀有严格要求。

  • 排查冲突问题
    暂时移除页面中的其他第三方脚本、自定义样式,看看是否存在样式覆盖或脚本冲突。比如某些全局样式可能重置了span的颜色属性,导致Highlight.js的着色样式不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 20:54:55