【问题标题】:Django templates coding styleDjango 模板编码风格
【发布时间】:2013-06-23 11:57:51
【问题描述】:

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

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

【问题讨论】:

    标签: django coding-style django-templates


    【解决方案1】:

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

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

    但是,我和其他许多使用 Django 的人一样,更喜欢您刚才展示的第三种处理方法。这是我见过的最常见的类型,虽然第二种方式也相当常见。

    同时尽量减少模板中的逻辑,让视图和过滤器等其他东西处理真正繁重的逻辑。

    除此之外,你很高兴。

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

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

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

    【讨论】:

    • tldr:“第三个。长答案:你选择。”
    【解决方案2】:

    有一个 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多