Django模板编码风格

时间:2013-06-23 11:57:51

标签: django coding-style django-templates

是否有编码风格决定如何在模板中编写代码?
这样:

<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>

2 个答案:

答案 0 :(得分:4)

Django模板中的代码规则简单且一致,就像使用任何其他编码语言一样。把事情弄清楚,并且要做到这一点。

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

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

还要将模板内部的逻辑保持在最低限度,并且在逻辑方面让其他内容(如视图和过滤器)处理真正的繁重工作。

除此之外,你很高兴。

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

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

所以,简答:第3个。答案很长:你选择了。

答案 1 :(得分:0)

有一个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>
相关问题