当前位置: 首页 > news >正文

Django框架下html文件无法格式化的解决方案

在 Django 项目中,.html 文件通常包含 Django 模板语言(DTL,如 {% %}{{ }}),这可能导致一些格式化工具无法正确解析。以下是几种方法可以帮助你格式化 Django HTML 文件:


方法 1:使用 VS Code 并安装 Prettier 插件

步骤

  1. 安装 Prettier 插件:

    • 在 VS Code 中,打开 扩展(Extensions) (Ctrl + Shift + X)。
    • 搜索 Prettier - Code formatter 并安装。
  2. 配置 Prettier 兼容 Django 模板

    • 在项目的 .vscode/settings.json 文件(如果没有,就创建一个)中添加:
      {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
        "prettier.parser": "html",
        "editor.formatOnSave": true
      }
      
  3. 格式化 HTML

    • 右键 .html 文件,选择 “Format Document”,或者使用快捷键:
      • Windows: Shift + Alt + F
      • Mac: Shift + Option + F

方法 2:使用 Django 扩展插件

VS Code 专用

如果 Prettier 不能正确格式化 Django 模板,你可以安装 Django 相关插件

  1. 安装 Django 插件(适用于 VS Code)

    • Django (官方插件)
    • Django Template Formatter
    • Django HTML
    • Django Snippets
  2. 配置 VS Code

    • .vscode/settings.json 中添加:
      {
        "editor.defaultFormatter": "Prettier",
        "[django-html]": {
          "editor.defaultFormatter": "Prettier"
        },
        "files.associations": {
          "*.html": "django-html"
        }
      }
      

方法 3:使用 Django 自带格式化工具

步骤

  1. 安装 djlint
    pip install djlint
    
  2. 格式化 Django HTML 文件
    djlint templates/ --reformat
    
  3. 格式化单个 HTML 文件
    djlint templates/index.html --reformat
    

方法 4:手动使用 HTML + Jinja 格式化

如果你的格式化工具不支持 Django 语法,可以尝试使用 Jinja 格式化,因为 Django 模板语法和 Jinja2 语法类似:

  1. 设置 .html 文件的语言模式
    • 在 VS Code 右下角 切换文件语言 → 选择 JinjaDjango HTML
  2. 尝试格式化
    • 右键 “Format Document”,或使用快捷键 Shift + Alt + F

方法 5:使用 PyCharm(JetBrains)

如果你使用 PyCharm,可以启用 Django 模板支持:

  1. 在 PyCharm 中安装 Django 插件
    • FileSettingsPlugins → 搜索 Django
    • 安装后,重启 PyCharm。
  2. 启用 Django 模板支持
    • FileSettingsLanguages & FrameworksDjango
    • 勾选 “Enable Django Support”
  3. 格式化 HTML
    • Ctrl + Alt + L(Windows/Linux)
    • Cmd + Option + L(Mac)

总结

方法工具适用场景
方法 1Prettier适用于 VS Code,适合一般 HTML 文件
方法 2Django 插件适用于 VS Code,支持 Django 模板语法
方法 3djlint适用于所有编辑器,命令行格式化
方法 4Jinja 语言模式适用于 VS Code
方法 5PyCharm适用于 JetBrains 全家桶

如果你用 VS Code,方法 1 + 方法 2 是最佳选择;如果想自动格式化 Django HTML,方法 3(djlint 也很强大。

相关文章:

  • 初识Qt · Qt的基本认识和基本项目代码解释
  • Firefox缩小标签页高度以及自定义调整
  • PDF文本转曲线轮廓 ​PDF转图片、提取文本和图片
  • 高性能采集服务上线回顾
  • Leetcode 209 长度最小的子数组
  • RX580双卡32GB显存跑DeepSeek-R17b、8b、14b、32b实测
  • vue3+vant4+js的移动端项目,每次部署完项目后,部分点击跳转至新页面的事件就失效了,不跳转,也不报错,如何解决?
  • Linux知识-第一天
  • SpringBoot集成Netty实现Ws和Tcp通信
  • 初探WebAssembly
  • 什么是组态软件?
  • Kotlin 类委托与属性委托
  • 图论-岛屿数量
  • 什么是分布式和微服务?
  • 第一章:6.差分+前缀和(一个区域整体添加一个数)
  • EVOAGENT: Towards Automatic Multi-Agent Generation via Evolutionary Algorithms
  • yolo初体验
  • 【Kubernets】K8S亲和性配置相关说明
  • (链表 删除链表的倒数第N个结点)leetcode 19
  • 【Elasticsearch】自定义内置的索引生命周期管理(ILM)策略。
  • “拼好假”的年轻人,今年有哪些旅游新玩法?
  • 马上评丨规范隐藏式车门把手,重申安全高于酷炫
  • 乌克兰议会批准美乌矿产协议
  • 澎湃研究所“营商环境研究伙伴计划”启动
  • 巴基斯坦信德省首府卡拉奇发生爆炸
  • 联想发布超级智能体矩阵,杨元庆:美国关税影响反映在产品定价上,未来不确定性很大