【问题标题】:count number of rows in flask templates计算烧瓶模板中的行数
【发布时间】:2013-07-18 08:04:14
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python templates loops count flask


    【解决方案1】:

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

    【讨论】:

    • 但现在它返回循环长度七倍,如 7777777
    【解决方案2】:

    {{ 数据|长度 }}

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多