django - 如何正确缩进 Django 模板

标签 django django-templates sublimetext3

我在 SublimeText 3 中工作。在编写 Django 模板时,我混合了 html 和函数。

我喜欢缩进我的代码,以便 blockif 和其他此类语句缩进。例如:

手动格式化

{% extends "accounts/base.html" %}

{% block content %}
  <h1>Password changed</h1>
  <p>Your password was changed.</p>
{% endblock %}

但是,当我运行任何自动格式化程序时 HTML-CSS-JS-Prettify它忽略这些括号并将它们视为文本:

格式化后

{% extends "accounts/base.html" %}
{% block content %}
<h1>Password changed</h1>
<p>Your password was changed.</p>
{% endblock %}

虽然像Djaneiro这样的插件提供出色的标签突出显示,我还没有找到一种方法让 SublimeText 将它们视为标签。

有人有幸吗?

最佳答案

这是一个迟来的答案,但我想提一下我自己创建的 Django 模板格式化程序:DjHTML 。您可以使用 pip install djhtml 安装它。

假设 template.html 包含以下内容:

{% extends "accounts/base.html" %}
{% block content %}
<h1>Password changed</h1>
<p>Your password was changed.</p>
<script>
$(function() {
console.log("Password changed!");
});
</script>
{% endblock %}

然后运行djhtml template.html将给出以下输出:

{% extends "accounts/base.html" %}
{% block content %}
    <h1>Password changed</h1>
    <p>Your password was changed.</p>
    <script>
        $(function() {
            console.log("Password changed!");
        });
    </script>
{% endblock %}

使用 DjHTML 作为 pre-commit 是最简单的钩子(Hook),这样当你运行 git commit 时模板就会自动缩进。有关如何配置预提交的说明可以在 README 中找到。 .

关于django - 如何正确缩进 Django 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57734014/

相关文章:

python /django : model object has no attribute 'prefetch_related'

python - 在句点 (`self` 关键字之后 Python 的烦人的 sublime 文本自动完成)

python - 如何在 Django 模板中迭代字典的列表值

python - 为什么我需要在路径转换器中使用 to_url() 方法? Django

python - django错误: django. urls.exceptions.NoReverseMatch

python - Django 模板不显示我的所有参数

jquery - Django Ajax/Jquery 在计时器上刷新 DIV 元素

python - 学习 Django 教程时遇到的困难

javascript - 如何在Sublime Text 3中运行HTML,CSS和JavaScript代码?

regex - Sublime & Regex : How to find all lines that are 3 letters or less, 不包括某些行?