Django Bootstrapv5 проблема с элементом в карусели
Я хочу, чтобы в карусели было хотя бы 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 фотографий каждого знания, так что:
класс carousel-inner вне цикла for.
Теперь в карусели будет не менее 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 карточек.