19

我已将视图中的变量发送到包含数据库数据的模板

这就是我在我的模板中使用的

{% for i in data %}             
    <tr>
        <td>{{i.id}}</td>
        <td>{{i.first_name}}</td>
        <td>{{i.last_name}}</td>
        <td>{{i.email}}</td>
    </tr>
{% endfor %}

这个循环中有七个条目,我需要显示租约计数建议我该怎么做

4

2 回答 2

45

在循环内部,您可以访问一个名为的特殊变量loop,您可以看到项目的数量{{ loop.length }}

这就是循环辅助变量所能做的一切:

  • loop.index 循环的当前迭代。(1 个索引)

  • loop.index0 循环的当前迭代。(0 索引)

  • loop.revindex从循环结束的迭代次数(1索引)

  • loop.revindex0 从循环结束的迭代次数(0索引)

  • loop.first 如果第一次迭代则为真。

  • loop.last如果最后一次迭代则为真。

  • loop.length 序列中的项目数。

  • loop.cycle 在序列列表之间循环的辅助函数。请参阅下面的说明。

  • loop.depth 指示当前渲染在递归循环中的深度。从 1 级开始

  • loop.depth0 表示当前渲染在递归循环中的深度。从 0 级开始

编辑:

要查看 de for 循环之外的项目数,您可以从视图中生成另一个变量,例如count_data = len(data),也可以使用length过滤器:

Data count is {{ data|length }}:
{% for i in data %}
    <tr>
      <td>{{i.id}}</td>
      <td>{{i.first_name}}</td>
      <td>{{i.last_name}}</td>
      <td>{{i.email}}</td>
    </tr>
{% endfor %}
于 2013-07-19T06:23:07.657 回答
2

{{ 数据|长度 }}

这很完美,我们不需要在循环中使用它,只需使用模板中的任何位置, 即使我们不需要从视图发送另一个变量

于 2013-07-19T06:51:02.763 回答