是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 %}
我没有看到任何错误,但它无效。
答案 0 :(得分:5)
如果你需要跳过第一次循环迭代的逻辑,只需使用forloop.first字段。它可以在forloop区域内访问。
{% for howitwork in howitworks %}
{% if not forloop.first %}
<!-- do stuff -->
{% endfor %}
答案 1 :(得分:3)
使用forloop.counter
(forloop.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 %}