Django 模板编码风格

DSb*_*ard 4 django coding-style django-templates

是否存在决定如何在模板中编写代码的编码风格?
这边走:

<tbody>
    {% for row in body_rows %}
    <tr>
        {% for cell in row %}
        <td>{{ cell.val }}</td>
        {% endfor %}
    </tr>
    {% endfor %}
</tbody>
Run Code Online (Sandbox Code Playgroud)

这个:

<tbody>
{% for row in body_rows %}
    <tr>
    {% for cell in row %}
        <td>{{ cell.val }}</td>
    {% endfor %}
    </tr>
{% endfor %}
</tbody>
Run Code Online (Sandbox Code Playgroud)

或这个:

<tbody>
    {% for row in body_rows %}
        <tr>
            {% for cell in row %}
                <td>{{ cell.val }}</td>
            {% endfor %}
        </tr>
    {% endfor %}
</tbody>
Run Code Online (Sandbox Code Playgroud)

Gam*_*iac 5

Django 模板中的代码规则简单且一致,就像任何其他编码语言一样。把事情说清楚,并坚持这样做。

与Python不同,模板代码确实不需要缩进,但我总是缩进,因为我已经很习惯Python的缩进了。但这只是一个偏好问题。

然而,我和许多其他使用 Django 的人更喜欢你刚刚展示的第三种方法。这是我见过的最常见的类型,尽管第二种方式也很常见。

还要将模板中的逻辑保持在最低限度,并让您的视图和过滤器等其他事情处理真正的繁重工作,当涉及到逻辑时。

除此之外,你很高兴去。

还要记住,在 django 中,你可以有不同的模板引擎,例如你这样做的方式只是使用 Django 的默认模板引擎。您还可以选择将 django 配置为使用其他模板引擎,如 Mako 或 Jinja(所有 Python 的模板引擎似乎都以日语命名)。

这些其他模板语言背后的社区在语法方面有自己的运作方式。但在所有情况下,第三个是最清晰的(对我来说,来自所有这些模板引擎的很多人似乎都在使用它们)。

所以,简短的回答:第三个。长答案:你选择了。