Djaneiro 是 Sublime Text 中对 Django 模板语法支持最成熟、开箱即用的插件,提供高亮、标签补全、变量提示和完整语法作用域定义;需通过 Package Control 安装,并手动将 .html 文件绑定为“Django > HTML (Django)”语法,推荐按路径规则(如 templates/.*.html)自动识别,避免全局误配;若高亮不明显,可调整主题或自定义 variable.template.embedded.django 作用域样式。

Djaneiro 是当前 Sublime Text 中对 Django 模板语法支持最成熟、开箱即用的插件,它不只是高亮,还提供标签补全、变量提示和语法作用域定义。其他插件(如 django-template 或手动改语法)要么功能残缺,要么维护停滞,不建议作为主力方案。
安装 Djaneiro 插件(必须走 Package Control)
Sublime 默认不带 Django 模板语法识别能力,Djaneiro 是唯一能同时处理 {{ variable }}、{% block %}、{% include %} 等全部语法并正确划分作用域的插件。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Package Control: Install Package并回车 - 等待列表加载完成(若卡住,大概率是网络问题:控制台报错
No route to host downloading https://packagecontrol.io/channel_v3.json;此时需手动下载channel_v3.json放入Packages/Package Control/目录后重启) - 搜索
Djaneiro,点击安装
安装后不会自动生效——它只是“提供了语法定义”,还需手动绑定文件类型。
手动设置 .html 文件为 Django HTML 语法
即使装了 Djaneiro,新建或打开的 .html 文件默认仍是普通 HTML 语法,{{ }} 和 {% %} 会显示为纯文本或错误着色。
- 打开一个 Django 模板文件(例如
base.html) - 点击窗口右下角显示的语法名称(通常是
HTML) - 在弹出菜单中选择
Django > HTML (Django) - 该文件立刻重绘高亮:变量呈蓝色/青色,标签呈橙色,注释呈灰色
⚠️ 注意:这个操作只对当前文件有效。如果项目里所有 .html 都是模板,必须做下一步配置。
让所有 .html 自动识别为 Django 模板(谨慎启用)
全局把 .html 绑定到 Django 语法看似省事,但会破坏静态页面、Markdown 导出 HTML、前端组件等非 Django 场景的高亮体验。
- 更安全的做法是:仅对特定目录启用,比如
templates/下所有文件 - 在项目根目录创建
.sublime-project文件,写入:
{
"folders": [
{
"path": "."
}
],
"settings": {},
"syntaxes": [
{
"name": "Packages/Djaneiro/HTML (Django).sublime-syntax",
"rules": [
{"file_path": ".*templates/.*\\.html$"}
]
}
]
}
保存后重新打开文件,只要路径匹配 templates/xxx.html,就会自动使用 Django 语法。比全局修改 "extensions_to_django": ["html"] 更精准,也避免误伤。
高亮颜色不明显?检查主题与配色方案兼容性
某些主题(如 Monokai、SoDaReloaded)对 text.html.django 和 variable.template.embedded.django 这两个关键作用域缺乏区分度,导致 {{ user.name }} 和普通文本颜色几乎一样。
- 推荐搭配
Spacegray Eighties主题 + 对应base16-eighties.dark.tmTheme配色方案 - 若仍不够清晰,可手动增强作用域样式:在
Packages/User/HTML (Django).tmPreferences中添加:
scope variable.template.embedded.django settings fontStyle bold foreground #a5d8ff
这类细粒度调整只有在你真正看清变量嵌套层级(比如 {{ order.items.0.product.name|default:"N/A" }})时才有意义——否则容易陷入“调色”陷阱,忽略实际开发节奏。










