Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Jinja循环项目,每5个项目后添加div 问题_Python_Loops_Jinja2 - Fatal编程技术网

Python 使用Jinja循环项目,每5个项目后添加div 问题

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

我有一个100个高尔夫球场的列表,我希望插入一个div,在每五个球场后包含一个广告的图像。我该怎么做呢

更新#1 content.html(修订版,最新版本)
  • 我已经更新了我的原始代码段,因为leovp的 建议编辑如下。我无法仅显示
    {%if-content.featured==“Test”%}
    并且不知道如何关闭if-else语句

        {% 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>
    

    {%endif%} {%endfor%}


迭代时,您可以获取当前索引并检查它是否可被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 %}
{%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 %}