4

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

<tbody>
    {% for row in body_rows %}
    <tr>
        {% for cell in row %}
        <td>{{ cell.val }}</td>
        {% endfor %}
    </tr>
    {% endfor %}
</tbody>

这个:

<tbody>
{% for row in body_rows %}
    <tr>
    {% for cell in row %}
        <td>{{ cell.val }}</td>
    {% endfor %}
    </tr>
{% endfor %}
</tbody>

或这个:

<tbody>
    {% for row in body_rows %}
        <tr>
            {% for cell in row %}
                <td>{{ cell.val }}</td>
            {% endfor %}
        </tr>
    {% endfor %}
</tbody>
4

2 回答 2

5

Django 模板中的代码规则与任何其他编码语言一样简单且一致。让事情变得清晰,并始终如一地这样做。

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

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

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

除此之外,你很高兴。

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

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

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

于 2013-06-23T12:22:12.283 回答
1

有一个 Django 风格指南,但非常有限:https ://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/#template-style

就我个人而言,我通常这样做,原因很简单,因为我的默认缩进规则为我这样做:

<tbody>
    {% for row in body_rows %}
    <tr>
        {% for cell in row %}
        <td>{ cell.val }}</td>
        {% endfor %}
    </tr>
    {% endfor %}
</tbody>
于 2013-06-23T12:03:55.370 回答