Django 模板 {% if %} 标签空格被自动删除?VS Code 环境解决方案

在开发 Django 项目时,我遇到一个常见问题:本地 IDE(VS Code)在保存 HTML 模板时,会自动删除 {% if %} 标签两边的空格,导致模板逻辑失效。

例如,原始代码:

<option value="5" {% if page_size == 5 %}selected{% endif %}>5</option>

保存后可能被自动格式化为:

<option value="5" {% if page_size==5 %}selected{% endif %}>5</option>

这会让模板逻辑出错。


原因分析

VS Code 或其他 IDE 的自动删除空格通常是由以下几个因素引起的:

  1. "保存时格式化(Format On Save)" 功能自动调整 HTML/模板格式。

  2. HTML 格式化插件(如 Prettier、Beautify)默认不识别 Django 模板语法。

  3. VS Code 默认将 .html 文件当作普通 HTML 文件处理,导致 {% ... %} 标签被误格式化。


解决方案

方法 1:通过命令面板打开(最通用)

  1. 按下 Ctrl + Shift + P(Windows / Linux)或 Cmd + Shift + P(macOS)

  2. 输入 Preferences: Open Settings (JSON)

  3. 回车即可打开完整的 settings.json 文件

在这里你可以直接添加配置,比如:

复制代码

"editor.formatOnSave": false, "files.trimTrailingWhitespace": false


方法 2:手动打开项目级 .vscode/settings.json

  1. 在你的项目根目录,新建一个 .vscode 文件夹(如果没有)

  2. 在里面新建 settings.json

  3. 粘贴配置,例如:

html 复制代码
{
    "editor.formatOnSave": false,
    "files.trimTrailingWhitespace": false,
    "[html]": {
        "editor.formatOnSave": false
    },
    "[django-html]": {
        "editor.formatOnSave": false
    }
}

这种方法可以针对当前项目生效,不影响全局设置。

相关推荐
WangYaolove13143 小时前
基于python的在线水果销售系统(源码+文档)
python·mysql·django·毕业设计·源码
晚烛4 小时前
CANN + 物理信息神经网络(PINNs):求解偏微分方程的新范式
javascript·人工智能·flutter·html·零售
ۓ明哲ڪ6 小时前
网页视频倍速播放.
html
意疏9 小时前
程序员兼职如何选择靠谱的软件外包平台 与 我的避坑经验
django
觉醒大王9 小时前
哪些文章会被我拒稿?
论文阅读·笔记·深度学习·考研·自然语言处理·html·学习方法
vx_biyesheji000110 小时前
豆瓣电影推荐系统 | Python Django 协同过滤 Echarts可视化 深度学习 大数据 毕业设计源码
大数据·爬虫·python·深度学习·django·毕业设计·echarts
Never_Satisfied11 小时前
在JavaScript / HTML中,关于querySelectorAll方法
开发语言·javascript·html
夏幻灵14 小时前
HTML5里最常用的十大标签
前端·html·html5
玄同76514 小时前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
程序员猫哥_14 小时前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html