如何在jinja2中全局定义一个计数器,以便它记住它的最后一个值

时间:2015-03-22 12:29:30

标签: python counter jinja2

这是我的代码。我希望在for循环结束后,计数应记住它的最后一个值,以便我可以检查它是否输入if下的for子句。但是,即使它找到优惠券,也不会记住最后一个值和所有时间打印"no coupons available"以及优惠券。

那么解决方法是什么?

{% set count = 1 %}
{% for x in coupon_codes %}
    {% if x[2]=="example.com" %}
        <tr>
        <td><code>{{ x[0] }}</code></td>
        <td>{{ x[1] }}</td>
        {% set count = count + 1 %}
        </tr>
    {% endif %}
{% endfor %}
{% if count==1 %}
<b>{% print "No Coupons Available." %}</b>
{% endif %}

1 个答案:

答案 0 :(得分:1)

您可以使用Jinja2的filtered for功能:

{% for x in coupon_codes if x[2]=="example.com" %}
<tr>
    <td><code>{{ x[0] }}</code></td>
    <td>{{ x[1] }}</td>
</tr>
{% else %}
<b>No Coupons Available.</b>
{% endfor %}