Sublime Text需安装HTML (Django Templates)或Djaneiro插件并手动设置语法为“HTML (Django Templates)”或“Django > HTML (Django)”,因默认不识别Django模板语法,{{ }}和{% %}被当普通文本处理。

Sublime Text 本身不运行 Django,也不自动识别 Django 模板语法;高亮失效、ImportError: No module named django、Command not found: django-admin 这些问题,90% 都是因为 Sublime 启动时没继承正确的 shell 环境或没装对语法包。
为什么 {{ }} 和 {% %} 不高亮
Sublime 默认把 .html 文件当原生 HTML 处理,{{ user.name }} 和 {% for item in items %} 被当作普通文本——这不是 bug,是语法定义缺失。
- 别改文件后缀(比如改成
.djhtml),它不解决根本问题 - 别装已停更的
SublimeDjango:不兼容 Sublime Text 4,容易导致Ctrl+Click跳转失效 - 推荐安装
HTML (Django Templates)(通过 Package Control)或Djaneiro;前者轻量稳定,后者补全更强但需手动绑定 - 装完必须手动设置:打开模板文件 → 点右下角语法名(如 “HTML”)→ 选
HTML (Django Templates)或Django > HTML (Django) - 若想让所有
.html自动用 Django 语法,在菜单Preferences → Settings – Syntax Specific中加:{"extensions": ["html","htm"],"syntax":"Packages/HTML/HTML (Django Templates).sublime-syntax"}
Ctrl+B 运行 manage.py 报 No module named django
错误不是因为没装 Django,而是构建系统调用了系统 Python,而非你虚拟环境里的解释器。
- 双击图标启动 Sublime,它不会读
~/.zshrc或~/.bash_profile,Mac/Linux 用户尤其要注意 - 正确做法:先在终端激活虚拟环境,再从该终端启动 Sublime,例如:
source venv/bin/activate && subl . - 如果坚持用
Ctrl+B,新建 Build System(Tools → Build System → New Build System),写死解释器路径:{ "shell_cmd": "/path/to/venv/bin/python ${project_path}/manage.py runserver", "working_dir": "${project_path}", "file_regex": "^[ ]*File "(.?)", line ([0-9]*)" } - Windows 用户路径要写成:
C:\path\to\venv\Scripts\python.exe,注意双反斜杠 - 别用
python manage.py这种写法——它永远走系统 PATH,不是你的 venv
{% load static %}、{% url %} 仍是灰色
这不是配置错误,是语法高亮能力的天然边界:正则无法动态解析 {% load %} 引入了哪些标签库,所以 {% static %}、{% crispy_form %} 等默认不高亮。
-
HTML (Django Templates)只覆盖内置语法({% if %}、{% for %}、{{ }}),对扩展标签无支持 -
Djaneiro对常见扩展标签(如{% static %})有基础高亮,但不支持自定义标签,且可能与新主题冲突 - 不要手动编辑
.sublime-syntax文件强行加规则:升级插件后会被覆盖,维护成本高 - 视觉提示弱不影响运行,调试仍以浏览器输出和日志为准;重度依赖自定义标签的项目,建议用
django-html-linter做静态检查,而非靠高亮
怎么让 settings.py、models.py 正确识别为 Python 文件
Sublime 不会根据 Django 项目结构自动设语法,settings.py 可能被当成纯文本,urls.py 里 path() 缩进也易错乱。
- 临时方案:打开文件 →
View → Syntax → Python → Python - 项目级统一:在项目根目录建
.sublime-project,内容加:{ "folders": [{ "path": "." }], "settings": { "syntax": "Packages/Python/Python.sublime-syntax" } } - 避免用旧版
Packages/Python/Python.tmLanguage:Sublime Text 4+ 已弃用,会导致async/await高亮异常 - 跳转 Model 定义不用装 LSP:在
views.py里把光标停在类名上,按Ctrl+Shift+R(Goto Anything),输入类名即可搜全项目匹配项
最常被忽略的一点:GUI 应用(包括 Sublime)不继承 shell 配置,所有路径、环境变量、Python 解释器都得显式指定或从终端启动。语法高亮只是表象,背后全是环境链路是否打通的问题。


















