Django 템플릿에서 for 루프를 사용하여 숫자 반복하기
예제
다음은 1부터 10까지 숫자를 반복하는 템플릿 코드입니다.
{% for num in range(1, 11) %}
<p>{{ num }}</p>
{% endfor %}
위 코드는 다음과 같이 출력됩니다.
1
2
3
4
5
6
7
8
9
10
for 루프 변수
for
루프에는 반복 중인 항목에 대한 정보를 제공하는 몇 가지 변수가 있습니다. 가장 많이 사용되는 변수는 다음과 같습니다.
counter
: 현재 반복 횟수입니다. 1부터 시작합니다.index
: 현재 항목의 인덱스입니다. 0부터 시작합니다.first
: 현재 항목이 루프의 첫 번째 항목인지 여부를 나타내는 부울 값입니다.
다음은 for 루프 변수를 사용하는 템플릿 코드의 예입니다.
{% for num in range(1, 11) %}
<p>{{ counter }}: {{ num }}</p>
{% endfor %}
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
10: 10
템플릿 필터
Django 템플릿에는 for 루프와 함께 사용할 수 있는 여러 템플릿 필터가 있습니다. 가장 많이 사용되는 필터는 다음과 같습니다.
slice
: 루프의 일부 항목만 반복합니다.reverse
: 루프의 항목을 반전 순서로 반복합니다.
{% for num in range(1, 11) | slice:2:5 %}
<p>{{ num }}</p>
{% endfor %}
위 코드는 3부터 9까지의 숫자만 출력합니다.
3
4
5
6
7
8
9
Django 템플릿에서 for 루프를 사용하여 숫자 반복하기: 예제 코드
예제 1: 1부터 10까지 숫자 반복하기
{% for num in range(1, 11) %}
<p>{{ num }}</p>
{% endfor %}
예제 2: for 루프 변수 사용하기
{% for num in range(1, 11) %}
<p>{{ counter }}: {{ num }}</p>
{% endfor %}
예제 3: 템플릿 필터 사용하기
{% for num in range(1, 11) | slice:2:5 %}
<p>{{ num }}</p>
{% endfor %}
예제 4: 범위 객체 사용하기
{% for num in range(10) %}
<p>{{ num }}</p>
{% endfor %}
예제 5: 리스트 사용하기
{% for num in [1, 2, 3, 4, 5] %}
<p>{{ num }}</p>
{% endfor %}
{% for num in (1, 2, 3, 4, 5) %}
<p>{{ num }}</p>
{% endfor %}
Django 템플릿에서 for 루프 대신 숫자 반복하기: 대체 방법
range 태그 사용하기
range
태그는 for 루프와 동일한 기능을 제공하는 Django 템플릿 태그입니다. 다음은 range
태그를 사용하여 1부터 10까지 숫자를 반복하는 방법입니다.
{% for num in range(1, 11) %}
<p>{{ num }}</p>
{% endfor %}
cycle 태그 사용하기
{% for num in cycle(1, 2, 3, 4, 5) %}
<p>{{ num }}</p>
{% endfor %}
직접적인 반복
간단한 반복의 경우 템플릿 코드에서 직접 숫자를 반복할 수 있습니다. 다음은 1부터 10까지 숫자를 직접 반복하는 방법입니다.
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
주의 사항
range
태그는 for 루프만큼 유연하지 않습니다. 예를 들어,range
태그는 반복 간격을 지정할 수 없습니다.cycle
태그는 for 루프만큼 효율적이지 않을 수 있습니다. 특히 반복 가능한 항목 목록이 길 경우 성능 저하가 발생할 수 있습니다.- 직접적인 반복은 코드가 더 지저분해질 수 있습니다. 특히 반복해야 하는 숫자 범위가 길 경우 더욱 그러합니다.
django for-loop django-templates