Python Django中的forloop内部的变量

时间:2015-10-29 08:16:49

标签: python django

是Python和Django的新手。 我有个问题。我想在for循环中增加当前的值,并检查该值是否等于 1 ,如果不是,我想显示一些HTML标记。

这是我的代码。

{% with current=1 %}
{% for howitwork in howitworks%}
{% if current != 1 %}                     
<div class=item>
    <div class=container-fluid>
        <div class=row>
            <div class="col-md-5 rex-block">
                <img src="media/{{ howitwork.image }}" alt>
            </div>
            <div class="col-md-7 rx-services-box">
                <div class=rx-conta-title>
                    <h3>{{ howitwork.subtitle }}</h3>
                </div>
                <p>{{ howitwork.description|linebreaks }}</p>

            </div>
        </div>
    </div>
</div>
{% endif %}
{% endfor %}
{% endwith %}

我没有看到任何错误,但它无效。

3 个答案:

答案 0 :(得分:5)

如果你需要跳过第一次循环迭代的逻辑,只需使用forloop.first字段。它可以在forloop区域内访问。

{% for howitwork in howitworks %}
{% if not forloop.first %}
<!-- do stuff -->
{% endfor %}

答案 1 :(得分:3)

使用forloop.counterforloop.counter0代表0索引)代替当前变量。

以下是您的代码段的可能解决方案:

{% for howitwork in howitworks%}
{{forloop.counter}}
{% if forloop.counter != 1 %}
<div class=item>
    <div class=container-fluid>
        <div class=row>
            <div class="col-md-5 rex-block">
                <img src="media/{{ howitwork.image }}" alt>
            </div>
            <div class="col-md-7 rx-services-box">
                <div class=rx-conta-title>
                    <h3>{{ howitwork.subtitle }}</h3>
                </div>
                <p>{{ howitwork.description|linebreaks }}</p>

            </div>
        </div>
    </div>
</div>
{% endif %}
{% endfor %}

答案 2 :(得分:1)

要检查当前的迭代次数,您可以使用{{forloop.counter}}

所以你的情况可能是这样的

{% if forloop.counter == 1 %}
   <!-- Do things -->
{% else %}
   <!-- Do some other things -->
{% endif %}