我希望我的旋转木马项目至少有 5 张卡片。但每个轮播项目中只有一张卡片。 我该怎么办:
{% for knowledge in knowledges %}
<div class="carousel-inner">
{% for photo in photo01s|slice:":5" %}
<div class="carousel-item {% if forloop.first %}active{% endif %}">
<div class="row">
{% if photo.category01 == knowledge %}
<div class="card" style="background-image: url('{{ photo.image01.url }}');"></div>
{% endif %}
</div>
</div>
{% endfor %}
</div>
{% endfor %}
我尝试了多种方法,但都不起作用。
假设您想要每个知识 5 张照片,并假设每个知识您有超过 5 张照片:
1)类轮播-for循环外的内层 2)现在你将在轮播中每个知识至少有5张照片
<div class="carousel-inner">
{% for knowledge in knowledges %}
{% set count = 0 %}
{% for photo in photo01s %}
{% if photo.category01 == knowledge %}
{% set count = count + 1 %}
<div class="carousel-item {% if forloop.first %}active{% endif %}">
<div class="row">
<div class="card" style="background-image: url('{{ photo.image01.url }}');"></div>
</div>
</div>
{% endif %}
{% endfor %}
{% endfor %}
</div>
你应该迭代
knowledges
,并在每个知识中迭代相应的照片,直到你至少有5张卡片,所以:
<div class="carousel-inner">
{% for knowledge in knowledges %}
<div class="carousel-item {% if forloop.first %}active{% endif %}">
<div class="row">
{% assign count = 0 %}
{% for photo in photo01s %}
{% if count < 5 and photo.category01 == knowledge %}
<div class="card" style="background-image: url('{{ photo.image01.url }}');"></div>
{% assign count = count | plus: 1 %}
{% endif %}
{% endfor %}
</div>
</div>
{% endfor %}
</div>
现在它将循环遍历每个知识,然后在每个知识内,它将循环遍历照片,直到找到 5 张卡片。