Jinja 在 IF 条件下更改变量值

Jinja change variable value in IF condition

我需要创建一个table一行一行

所以我在模板文件中写了下面的代码;

      {% for dict_item in sonuc %}

        {% if dict_item.status ==0 %}
            {% if count == 1 %}
        <tr>
            {% set count = 0 %}
            {% elif count == 0 %}
                   <tr class="alt">
                  {% set count = 1 %}
            {% endif %}
        <td>{{ dict_item.zaman }}</td><td>{{ dict_item.saat }}</td><td>{{ dict_item.kad }}</td><td>{{ dict_item.mak }}</td><td>{{ dict_item.uyg }}</td> </tr>
        {% elif dict_item.status ==1 %}
           {% if count == 1 %}
        <tr>
            {% set count = 0 %}
           {% elif count == 0 %}
            <tr class="alt">
            {% set count = 1 %}
        {% endif %}
        <td><b>{{ dict_item.zaman }}</b></td><td><b>{{ dict_item.saat }}</b></td><td><b>{{ dict_item.kad }}</b></td><td><b>{{ dict_item.mak }}</b></td><td><font color="red"><b>{{ dict_item.uyg }}</b></font></td> </tr>
        {% endif %}
        {% endfor %}

但不更改计数值,因此所有行都是用

创建的
<tr class="alt"> tag

因为我认为我选择了错误的解决方法 不明白为什么不能在if条件下改变"content"变量的值

Jinja2 cycle 方法正是您要找的。有一个例子 in the docs。请注意,循环参数中的值之一可以是空字符串。