计算烧瓶模板中的行数

时间:2013-07-19 06:16:08

标签: python templates loops count flask

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

这就是我在模板中使用的

{% 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 %}

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

2 个答案:

答案 0 :(得分:30)

在循环中,您可以访问名为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 %}

答案 1 :(得分:1)

  

{{data | length}}

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