首页 > 解决方案 > 如何正确缩进 Django 模板

问题描述

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

我喜欢缩进我的代码,这样block,if和其他这样的语句就会缩进。例如:

手动格式化

{% 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 将它们视为标签。

有没有人有运气?

标签: djangodjango-templatessublimetext3

解决方案


据我所知,没有一个崇高的文本。我没有可以引用的消息来源,但我基本上没有搜索任何内容。

这种讨论无论如何都是旧的,但很活跃。我发现这张关于 Django 格式化标准的旧票,它已在 9 个月前更新,基本上说它们“支持标准”,并且建议的模板格式为:

  <ul>
    {% for x in y %}
      <li>{{ x }}</li>
    {% endfor %}
  </ul>

他们还创建了一个地方,其中包含有关 Django 格式指南的信息。

你可能会发现这个讨论也很有趣。它也很旧,但它突出了 Django 中格式化的困惑以及人们想出的 DIY 解决方案来应对。


推荐阅读