아래와 같이 question 하나와, 해당 question에 있는 choice 들이 리스트 되어 있는것을 확인 할수 있습니다.
메서드의 호출
1 2 3 4 5 6 7
{% for choice in question.choice_set.all %} # question 에 붙어있는 선택들을 for 문으로 순회 시작 <li>{{ choice.choice_text }}</li> # 순회 하는동안 <li> 태그 안에 하나씩 choice_text 들을 출력 {% endfor %} # for 문 종료
1 2 3 4 5 6 7 8
메써드의 호출은 {% for %} 반복문에서 이루어집니다.
question.choice_set.all 은 파이썬 코드에서 question.choice_set.all() 로 해석이 됩니다.
question.choice_set.all() 은 순회가능한 Choice 객체들을 반환하고,
이것은 {% for %} 테그 안에서 사용하기 적합합니다.
마치며..
템플릿에 나오는 템플릿 언어의 구분이 많이 힘들었습니다.
1 2 3 4
{% for %} 나 {{ question.choice_set.all }} 같은 템플릿 언어들 말입니다.
{% %} 어떠한 로직들을 불러오는 코드라고 생각하고 (예 조건문, 반복문) {{ }} 는 변수나 객체의 값들만 가지는 코드라고 이해하고 넘어갑니다.