본문 바로가기
파이썬/파이썬기본문법

파이썬 Django for loop variables

by flycoding 2024. 3. 7.
반응형

파이썬 Django for loop : loop variables

장고에는 루프 내에서 사용할 수 있는 변수가 몇 가지 있다:

  • forloop.counter
  • forloop.counter0
  • forloop.first
  • forloop.last
  • forloop.parentloop
  • forloop.revcounter
  • forloop.revcounter0

파이썬 Django for loop : forloop.counter

1에서 시작하는 현재 반복.

temmplate.html

<!DOCTYPE html>
<html>
<body>

<ul>
  {% for x in fruits %}
    <li>{{ forloop.counter }}</li>
  {% endfor %}
</ul>

<p>In views.py you can see what the fruits object looks like.</p>

</body>
</html>
views.py

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'fruits': ['Apple', 'Banana', 'Cherry', 'Oranges', 'Kiwi'],   
  }
  return HttpResponse(template.render(context, request))

위의 코드를 실행하면 아래 그림과 같다.

파이썬 Django for loop forloop.counter 활용 예제

 

파이썬 Django for loop : forloop.counter0

0부터 시작하는 현재 반복.

template.html

<!DOCTYPE html>
<html>
<body>

<ul>
  {% for x in fruits %}
    <li>{{ forloop.counter0 }}</li>
  {% endfor %}
</ul>

<p>In views.py you can see what the fruits object looks like.</p>

</body>
</html
views.py

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'fruits': ['Apple', 'Banana', 'Cherry', 'Oranges', 'Kiwi'],   
  }
  return HttpResponse(template.render(context, request)) 

위의 코드를 실행하면 아래 그림과 같다.

파이썬 Django for loop forloop.counter0 활용 예제

 

파이썬 Django for loop : forloop.first

루프가 첫 번째 반복에 있는지 테스트할 수 있다.

template.html

<!DOCTYPE html>
<html>
<body>

<ul>
  {% for x in fruits %}
    <li
      {% if forloop.first %}
        style='background-color:lightblue;'
      {% endif %}
    >{{ x }}</li>
  {% endfor %}
</ul> 

<p>In views.py you can see what the fruits object looks like.</p>

</body>
</html>
views.py

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'fruits': ['Apple', 'Banana', 'Cherry', 'Oranges', 'Kiwi'],   
  }
  return HttpResponse(template.render(context, request))      

위의 코드를 실행하면 아래 그림과 같다.

파이썬 Django for loop forloop.first 활용 예제

 

파이썬 Django for loop : forloop.last

루프가 마지막 반복에 있는지 테스트할 수 있다.

 

루프의 마지막 반복을 위해 파란색 배경을 그린다:

template.html

<!DOCTYPE html>
<html>
<body>

<ul>
  {% for x in fruits %}
    <li
      {% if forloop.last %}
        style='background-color:lightblue;'
      {% endif %}
    >{{ x }}</li>
  {% endfor %}
</ul> 

<p>In views.py you can see what the fruits object looks like.</p>

</body>
views.py

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'fruits': ['Apple', 'Banana', 'Cherry', 'Oranges', 'Kiwi'],   
  }
  return HttpResponse(template.render(context, request))  

위의 코드를 실행하면 아래 그림과 같다.

파이썬 Django for loop forloop.last 활용 예제

 

파이썬 Django for loop : forloop.revcounter

마지막에 시작해서 거꾸로 세어보면 1이 되는 현재의 반복이다.

template.html

<!DOCTYPE html>
<html>
<body>

<ul>
  {% for x in fruits %}
    <li>{{ forloop.revcounter }}</li>
  {% endfor %}
</ul>

<p>In views.py you can see what the fruits object looks like.</p>

</body>
views.py

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'fruits': ['Apple', 'Banana', 'Cherry', 'Oranges', 'Kiwi'],   
  }
  return HttpResponse(template.render(context, request))  

위의 코드를 실행하면 아래 그림과 같다.

파이썬 Django for loop forloop.revcounter 활용 예제

 

파이썬 Django for loop : forloop.revcounter0

마지막에 시작해서 거꾸로 세어보면 0이 되는 현재의 반복이다.

template.html

<!DOCTYPE html>
<html>
<body>

<ul>
  {% for x in fruits %}
    <li>{{ forloop.revcounter0 }}</li>
  {% endfor %}
</ul>

<p>In views.py you can see what the fruits object looks like.</p>

</body>
</html> 
views.py

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'fruits': ['Apple', 'Banana', 'Cherry', 'Oranges', 'Kiwi'],   
  }
  return HttpResponse(template.render(context, request))    

위의 코드를 실행하면 아래 그림과 같다.

파이썬 Django for loop forloop.revcounter0 활용 예제

 

이번 글에서는 파이썬 Django for loop 에 loop variable에 관련해서 실습하며 살펴보았다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

'파이썬 > 파이썬기본문법' 카테고리의 다른 글

파이썬 Django include 태그  (0) 2024.03.09
파이썬 Django 주석(Comments)  (0) 2024.03.08
파이썬 Django for loop  (0) 2024.03.06
파이썬 Django Operator-1  (0) 2024.03.05
파이썬 django if tag  (0) 2024.03.04

댓글