Как остановить цикл for?
Создал функцию чтобы она выводила все карточки, как сделать так чтобы по достижению 8 карточек на экране она далее не выводила?
<div class="row row-cols-1 row-cols-md-4 g-4">
{% for tick in tickets %}
<div class="col">
<div class="card">
<img src="https://proprikol.ru/wp-content/uploads/2019/11/kartinki-balet-3.jpg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">{{ tick.ticket_name }}</h5>
<p class="card-text">{{ tick.ticket_body }}</p>
<a href="#" class="btn btn-primary">Купить</a>
</div>
</div>
</div>
{% endfor %}
Ответы (1 шт):
Судя по коду вы используете bootstrap. В нём насколько я помню из коробки есть пагинация, благодаря которой вы сможете ограничить количество карточек отображаемых на одной страницы. Но если прям очень нужно именно отображать только 8 первых карточек, то лучше эту задачу решать не на стороне шаблонизатора, а на стороне бэкэнда. Для этого, когда вы передаёте в render_template делайте срез, т.е. tickets[:8].
P.S. не помню точно, но возможно jinja2 поддерживает срезы внутри тэмплейтов, если да, то можно внутри фора написать что - то вроде:
for tick in tickets[:8]
