program tip

Django 템플릿에서 중첩 for 루프로 가장 바깥 쪽 forloop.counter에 액세스하는 방법은 무엇입니까?

radiobox 2020. 8. 5. 08:06
반응형

Django 템플릿에서 중첩 for 루프로 가장 바깥 쪽 forloop.counter에 액세스하는 방법은 무엇입니까?


Django의 다음 템플릿에서 가장 바깥 쪽 for 루프에 대해 forloop.counter에 액세스 할 수 있습니까?

{% for outerItem in outerItems %}
    {% for item in items%}
        <div>{{ forloop.counter }}.&nbsp;{{ item }}</div>
    {% endfor %}
{% endfor %}

forloop.counter는 위 예제에서 가장 안쪽 for 루프의 카운터를 반환합니다.


당신 의 경우에, 당신 forloop.parentloop은 외부에 도착하는 데 사용할 수 있습니다 .forloop{{forloop.parentloop.counter}}


함께 사용할 수도 있습니다

간단한 이름으로 복잡한 변수를 캐시합니다. 이는 "고가의"방법 (예 : 데이터베이스에 충돌하는 방법)에 여러 번 액세스 할 때 유용합니다.

{% for outerItem in outerItems %}
  {% with forloop.counter as outer_counter %}
    {% for item in items%}
        <div>{{ outer_counter }}.&nbsp;{{ item }}</div>
    {% endfor %}
  {% endwith %}
{% endfor %}

Django의 높은 버전을 사용한다면

{% with outer_counter = forloop.counter %}

Django 1.4.x-Django 1.9.x는 두 가지 방법을 지원합니다.

for 루프가 많을 때 더 명확합니다.

참고 URL : https://stackoverflow.com/questions/2376511/how-to-access-outermost-forloop-counter-with-nested-for-loops-in-django-template

반응형