必须手动指定语法,右下角显示html (django)、django > html (django)或html (django templates)才生效;若未显示,需用ctrl+shift+p输入set syntax: html (django)启用,或安装djaneiro/html (django templates)插件并正确配置路径。

装了插件但 {% if %} 和 {{ user.name }} 还是没颜色?不是插件没装对,是 Sublime Text 根本没在用 Django 语法——它不会自动识别模板文件,必须手动指定或绑定规则。
怎么确认当前文件用了 Django 模板语法
右下角显示的语法名必须是 HTML (Django)、Django > HTML (Django) 或 HTML (Django Templates) 之一。如果显示的是 HTML 或 Plain Text,高亮就完全没启用。
- 快捷键
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Set Syntax: HTML (Django)回车,立刻生效 - 菜单操作:
View → Syntax → HTML (Django)(注意避开带(legacy)的旧版) - 如果列表里没有这些选项,说明插件根本没装成功,或者装的是已停更的
SublimeDjango(它在 ST4 下基本不可用,还会破坏括号匹配)
该装 Djaneiro 还是 HTML (Django Templates)
两者都可用,但定位不同:
提供使用 django-unfold (v0.56+) 构建高级 Django 管理界面的专业指导。当用户提及 django-unfold、unfold admin 等内容时使用此技能。
-
Djaneiro:目前最成熟的选择,支持{{ user.name }}中name单独着色、djview/djmodel片段、作用域细分;语法路径是Packages/Djaneiro/HTML (Django).sublime-syntax -
HTML (Django Templates):官方仓库收录的轻量语法包,只做高亮,不带补全;对{% load static %}后的{% static %}不高亮,路径是Packages/HTML/HTML (Django Templates).sublime-syntax - 别碰
SublimeDjango:不兼容 ST4,装了可能导致所有.html文件高亮错乱、Ctrl+Click失效
怎么让 templates/ 下的 .html 自动用 Django 语法
不能全局把所有 .html 都设成 Django 语法——静态页、前端组件、生成文档会丢掉 Emmet 和原生 HTML 补全。
- 推荐按路径绑定:打开一个模板文件 → 设好语法 → 右键文件标签 →
Set Syntax for File Extension→ 选templates/**/*.html(需 ST4.4+) - 手动配置项目级规则:菜单
Preferences → Settings – Syntax Specific,加这段 JSON(注意路径要和你实际插件一致):{"extensions": ["html"], "syntax": "Packages/Djaneiro/HTML (Django).sublime-syntax"} - 若混用 Jinja2 或纯静态页,别开全局绑定,否则
{% set %}会被当成错误解析
为什么 {% load static %} 和 {% url %} 还是灰色
这不是配置错误,是语法高亮能力的天然边界。Sublime 的语法系统基于静态正则,无法解析 {% load %} 动态引入的标签库。
-
{% if %}、{% for %}、{{ }}能高亮,因为它们是内置语法,硬编码在语法定义里 -
{% static %}、{% url %}、自定义标签(如{% load crispy_forms_tags %})默认就是灰色,不影响运行,只是视觉提示弱 - 别去改
.sublime-syntax文件硬加规则:维护成本高,插件升级后会被覆盖
真正容易被忽略的是:即使装了 Djaneiro,它也只提供语法定义,不接管文件类型判断;而主题配色(比如 Spacegray Eighties)若没同步调整 variable.template.embedded.django 作用域样式,变量依然可能不够醒目。










