템플릿 이란 장고가 파이썬 데이터를 HTML파일에 더해 서빙하는 형태를 의미 한다
장고가 템플릿 엔진을 이용하여 생성하기 위한 구문 이다
refs → https://docs.djangoproject.com/en/4.0/topics/templates/
기본적인 형태는 다음과 같다
조건문 형태는 다음과 같다
- {% if condition %}
- {% elif condition %}
- {% else %}
- {% endif %}
반복문 형태는 다음과 같다
- {% for item in items %}
- <p>순서: {{ forloop.counter }} </p>
- <p> {{ item }} </p>
- {% endfor %}
- forloop 객체에서 사용 할 수 있는 속성 값은 다음과 같다
- forloop.counter → 루프의 순서로 부터 1부터 표시
- forloop.counter0 → 루프의 순서로 부터 0부터 표시
- forloop.first → 루프의 첫번째 순서인 경우 True
- forloop.last → 루프의 마지막 순서인 경우 True
객체 출력 형태는 다음과 같다
- {{ 객체 }}
- 속성이 있는 경우는 기존 파이썬의 속성 접근 방법과 동일 하다
알아둬야 할것
- 장고는 보안 모듈이 장착되어 있기 때문에 form태그에서 post시 {% csrf_token %}태그가 반드시 존재 해야 한다
- 하지만 csrf(Cross Site Request Forgery) 미들웨어를 해제 한다면 간단하게 사용 할 수 있다.
- csrf는 웹 취약점 공격을 방지하기 위해 토큰 값을 세션을 통해 발행하고 웹 에선 폼 전송시 토큰을 함께 전송해 검증하는 기술이다.