Django 템플릿 언어(DTL : Django Template Language)
- 장고 템플릿에서 사용하는 특별한 문법
- 크게 아래와 같이 나뉨.
1. 템플릿 변수
2. 템플릿 태크
3. 템플릿 필터
4. 코멘트
1. 템플릿 변수
1-1) {{변수}}로 지정.
My first name is {{ first_name }}. My last name is {{ last_name }}.
1-2) 점 표기법
{{my_dict.key}}
{{my_list.0}}
{% for k, v in defaultdict.items %}
Do something with k and v here...
{% endfor %}
2. 템플릿 태그
- 텍스트, 반복문, 논리문 수행
- 외부정보를 로드
2-1) {%태그%}
{% csrf_token %}
{% cycle 'odd' 'even' %} #인수 허용
2-2) 반복문
<ul>
{% for athlete in athlete_list %}
<li>{{ athlete.name }}</li>
{% endfor %}
</ul>
2-3) 조건문
- 시작, 종료 태그 필요 {% if %}{% endif %}
{% if user.is_authenticated %}Hello, {{ user.username }}.{% endif %}
{% if athlete_list %}
Number of athletes: {{ athlete_list|length }}
{% elif athlete_in_locker_room_list %}
Athletes should be out of the locker room soon!
{% else %}
No athletes.
{% endif %}
{% if athlete_list|length > 1 %}
Team: {% for athlete in athlete_list %} ... {% endfor %}
{% else %}
Athlete: {{ athlete_list.0.name }}
{% endif %}
3. 템플릿 필터
{{data|filter}}
default
{{ value|default:"nothing" }}
length
{{ value|length }}
{{ value|filesizeformat }}
{{ my_date|date:"Y-m-d" }}
4. 코멘트
- 코멘트 넣는 방법은 2가지
- {# 내용 #} / {%comment%} 내용 {%endcomment%}
4-1) {# 내용 #}
{# 1 라인 주석 #}
{% comment %}
<div>
<p>
주석처리할 블럭
</p>
<span></span>
</div>
{% endcomment %}
참고