jinja2烧瓶中的计数器

时间:2018-12-27 20:16:01

标签: python flask jinja2

我想做一个柜台 这个简单的代码不起作用...

  {% set count = 1 %}
  {% for i in [1,2,3,4,5] %}
      {% set count = count + 1 %}
  {% endfor %}
  <h2>found {{count}}<h2>

结果是1 我看到您可以使用此How to increment a variable on a for loop in jinja template?,但这对我不起作用

2 个答案:

答案 0 :(得分:0)

如果您使用的是Flask和Jinja2,则可以使用built in filter length

{% set my_list = [1,2,3,4,5] %}
{% for i in my_list %}
    ...  
{% endfor %}
<h2>found {{my_list|length}}<h2>

如果这不能完全满足您的要求,则还可以在使用add_template_filter()add_template_global()初始化Flask应用程序时公开自定义过滤器或函数

答案 1 :(得分:0)

在某些情况下,更适合在渲染模板之前进行计数,然后将计数传递到模板中。您可能正在寻找其中之一。 Jinja2模板“语言”不是完整的,图灵完整的编程语言。