Подтвердить что ты не робот

Как вы ограничиваете сторону шаблона объектов списка, а не смотрите сторону

Один из способов ограничить объекты - добавить ограничение к функции, подобной этой

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 предметов/предметов. И как это сделать внутри шаблона. Спасибо заранее.

4b9b3361

Ответ 1

Существует фильтр slice, который можно использовать в шаблонах. Это работает точно так же, как нарезка в представлении.

{% for new in news|slice:":10" %}

Ответ 2

Вы хотите использовать шаблон шаблона slice

Здесь ваш пример изменился, чтобы использовать его:

<ul>
{% for new in news|slice:":3" %}
<li>
<p>{{ new.title }}</p>
<p>{{ new.body }}</p>
</li>
{% endfor %}
</ul>