Python 使用Jinja循环项目,每5个项目后添加div 问题
我有一个100个高尔夫球场的列表,我希望插入一个div,在每五个球场后包含一个广告的图像。我该怎么做呢 更新#1 content.html(修订版,最新版本)Python 使用Jinja循环项目,每5个项目后添加div 问题,python,loops,jinja2,Python,Loops,Jinja2,我有一个100个高尔夫球场的列表,我希望插入一个div,在每五个球场后包含一个广告的图像。我该怎么做呢 更新#1 content.html(修订版,最新版本) 我已经更新了我的原始代码段,因为leovp的 建议编辑如下。我无法仅显示{%if-content.featured==“Test”%}并且不知道如何关闭if-else语句 {% for content in COPY.courses %} <div class="course course--fea
- 我已经更新了我的原始代码段,因为leovp的
建议编辑如下。我无法仅显示
并且不知道如何关闭if-else语句{%if-content.featured==“Test”%}
{%endif%} {%endfor%}{% for content in COPY.courses %} <div class="course course--featured"> <a href=""><img src="" class="course__image image--region"></a> <div class="course__inner"> <div class="course__wrapper"> {% if content.state == "MO" %} <p class="course__state">Missouri</p> {% elif content.state == "IL" %} <p class="course__state">Missouri</p> {% endif %} </div> <div class="course__wrapper"> <a href=""><p class="course__name name--region">{{ content.name }}</p></a> </div> <p class="course__desc">{{ content.description }}</p> </div> </div> {% if loop.index % 5 == 0 %} <div class="advertising advertising--inline"> <div class="ad ad--rect"> <div class="text-center hidden-xs"> <div id="fixed-leaderboard-region-top" class="dfp-ad" data-dfp-custom-pos="fixed-leaderboard-top, htf" data-dfp-size="[728,90]"> </div> </div> <div class="text-center hidden-sm hidden-md hidden-lg"> <div id="fixed-leaderboard-region-top-mobile" class="dfp-ad" data-dfp-custom-pos="fixed-leaderboard-top, htf" data-dfp-size="[320,50]"> </div> </div> </div> </div> {% endif %} {% endfor %} </div>
{% set count = 0 %}
{% for content in COPY.courses %}
{% if content.featured == "Test" %}
<div class="course course--featured">
<a href=""><img src="" class="course__image image--home"></a>
[...]
</div>
</div>
{% set count = count + 1 %}
{% if count % 5 == 0 %}
<!-- additional content once every 5 courses -->
{% endif %}
{% endif %}
{% endfor %}
{%set count=0%}
{%用于COPY.courses%中的内容}
{%if content.featured==“Test”%}
[...]
{%set count=count+1%}
{%如果计数%5==0%}
{%endif%}
{%endif%}
{%endfor%}
注意:此方法在2.10版之后不再有效
有关详细信息,请参见:
你的答案非常接近。使用您的解决方案,除非我关闭
{%if-content.featured==“Test”}
之前的第一个if语句{%if-loop.index0%5==0%}
,否则无法显示广告。但是现在,我看到了所有100门ish课程,当我想把它限制在那些有Test
的课程时,我已经更新了原始答案来展示这些变化。啊。在某些筛选条件之后,您需要检查索引。我会更新答案的。太棒了。是的,这很有效。我希望您可以使用{%set count=1%}
和{%set count=count+1%}
set count=0
创建一个变量count
,并将其设置为0。稍后,在if语句允许我们继续之后,我们递增count
并检查它是否可以被5整除。如果是的话,那么我们就在第五次/第十次/之后。。。部门。
{% set count = 0 %}
{% for content in COPY.courses %}
{% if content.featured == "Test" %}
<div class="course course--featured">
<a href=""><img src="" class="course__image image--home"></a>
[...]
</div>
</div>
{% set count = count + 1 %}
{% if count % 5 == 0 %}
<!-- additional content once every 5 courses -->
{% endif %}
{% endif %}
{% endfor %}