应安装html (django templates)或djaneiro插件,二者均需手动绑定语法才能使django模板高亮生效,且ctrl+b需配置虚拟环境解释器路径以避免no module named django错误。

装哪个插件才真正生效
别碰 SublimeDjango——它已停更,不兼容 Sublime Text 4,装了反而让 .html 文件高亮错乱、Ctrl+Click 跳转失效。目前稳定可用的只有两个:HTML (Django Templates)(轻量、官方收录、无依赖)和 Djaneiro(功能更全,含补全和作用域细分,但需手动启用语法)。两者都通过 Package Control 安装:按 Ctrl+Shift+P → 输入 Package Control: Install Package → 搜索并点击安装对应名称。
为什么装完还是纯灰?必须手动指定语法
插件只提供 .sublime-syntax 文件,不会自动绑定到任何文件。打开一个 Django 模板(如 templates/base.html),看窗口右下角显示的语法名——如果还是 HTML 或 Plain Text,说明根本没启用高亮。
- 用命令面板:
Ctrl+Shift+P→ 输入Set Syntax: HTML (Django Templates)(前者)或Set Syntax: Django > HTML (Django)(后者) - 或点击右下角语法名 → 在弹出菜单中选对应项
- 若列表里没有带
Django的选项,说明插件没装成功,或装错了旧版
要不要全局把所有 .html 都设成 Django 语法
可以,但代价明确:所有 .html 文件(包括前端组件、Markdown 导出页、纯静态 landing page)会丢失原生 HTML 补全和 Emmet 支持。
- 如果坚持全局生效:菜单 →
Preferences → Settings – Syntax Specific,加这段 JSON:{"extensions": ["html","htm"],"syntax":"Packages/HTML/HTML (Django Templates).sublime-syntax"}(注意路径要和你装的插件一致) - 更安全的做法是只对
templates/**/*.html生效——但这需要第三方插件ApplySyntax,维护成本高,中小型项目没必要
{% load static %} 和 {% url %} 为什么还是灰色
这不是配置错误,是 Sublime 语法高亮机制的硬限制:.sublime-syntax 基于静态正则,无法解析 {% load %} 动态引入的标签库。所以 {% static %}、{% url %}、{% crispy_form %} 全部被当作普通 block 标签处理,颜色和 {% if %} 一致。
- 接受它:这类标签拼写固定、语义清晰,不影响编码效率
- 别去改
HTML (Django).sublime-syntax文件硬加规则——升级插件后会被覆盖,还容易破坏括号匹配 - 如果重度依赖自定义标签,建议用
SublimeLinter + django-html-linter做静态检查,而不是靠高亮
settings.py,也不会扫描 templates/ 目录,一切都要你亲手点一次右下角,或写一行 JSON。











