Ответ 1
Существует фильтр slice
, который можно использовать в шаблонах. Это работает точно так же, как нарезка в представлении.
{% for new in news|slice:":10" %}
Один из способов ограничить объекты - добавить ограничение к функции, подобной этой
def ten_objects():
obj = Model.objects.all()[0:10] # limit to 10
return {'objects': obj}
Однако как вы достигаете этого внутри шаблона, а не внутри представления?
Я знаю, что вы можете фильтровать объекты в шаблоне и ограничивать символы, но как вы фактически ограничиваете количество объектов, отображаемых в цикле. Через шаблон. например, следующий код будет проходить через все объекты....
<ul>
{% for new in news %}
<li>
<p>{{ news.title }}</p>
<p>{{ news.body }}</p>
</li>
{% endfor %}
</ul>
Как разорвать цикл, скажем, после 3 предметов/предметов. И как это сделать внутри шаблона. Спасибо заранее.
Существует фильтр slice
, который можно использовать в шаблонах. Это работает точно так же, как нарезка в представлении.
{% for new in news|slice:":10" %}
Вы хотите использовать шаблон шаблона slice
Здесь ваш пример изменился, чтобы использовать его:
<ul>
{% for new in news|slice:":3" %}
<li>
<p>{{ new.title }}</p>
<p>{{ new.body }}</p>
</li>
{% endfor %}
</ul>