[django] 보기 쪽이 아닌 목록 개체 템플릿 쪽을 어떻게 제한합니까?

객체를 제한하는 방법 중 하나는 다음과 같은 함수에 제한을 추가하는 것입니다.

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" %}


답변

슬라이스 템플릿 필터 를 사용하려는 경우

사용하도록 변경된 예는 다음과 같습니다.

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


답변