학습주제
탬플릿(Templates)에서 제어문 사용하기
학습내용
지난시간 복습



모든 list를 출력하고자 한다.
장고 쉘에서 print 해보고, index.html에서 구현

장고쉘도 vs code처럼 for 문 내에서 들여쓰기를 해야한다. 엔터 두번을 치면 된다.

전체를 전달한다.
만일 더 많은 정보를 담고 싶다면, context의 자료형이 dict이므로, key, value 형태로 넣어주면 된다.

에러가 난다. 그 이유는 장고 템플릿에서는 리스트를 인덱싱할 때 .을 사용해야한다.




이렇게 연속적으로 출력되는 것을 확인할 수 있다. 장고 템플릿의 언어를 기존 파이썬과 다르다.
반복문은 템플릿 안에서는 {% %} 안에 사용해준다. 특이점은 끝에 콜론이 없다. for 문법은 그대로 동일하다. 들여쓰기 위치에 주의하여 {% endfor %}로 종료해 준다.

변수를 쓰고 싶을 땐 {{변수명}} 형태로 사용하고, 제어문을 사용하고 싶을 땐 {%제어문%} 형태로 사용한다. 단, 시작과 끝을 표시해줘야 하고, 끝에 콜론이 붙지 않는다.
이제 조건문도 사용해 보기로 한다. 마찬가지로 중괄호 퍼센트로 열어준다.

if ~ else ~ endif 구조로 조건문이 생성되었다.
{% if questions %}
<ul>
{% for question in questions %}
<li>{{question}}</li>
{% endfor %}
</ul>
{% else %}
<p>no questions</p>
{% endif %}
for 내부 명령은 들여쓰기가 되지 않아도 실행 되긴 하나, 가독성을 위해 들여쓰기를 한다.
만일 context = []를 전달하면,


빈 리스트를 전달하면 no questions가 뜨는 것을 확인하였다.
조건문, 반복문을 쓸 때는 {% %} , 변수는 {{ }}를 기억하자.