* 참고 자료 : 코드잇 Django 강의
템플릿 언어는 장고가 Template을 작성할 때 보다 편리하게 작성할 수 있도록 도와주는 것이다.
쉽게 말해, html을 작성할 때 프로그래밍을 하듯 작성할 수 있도록 해준다.
1. 템플릿 언어
템플릿 언어는 크게 4가지로 구분할 수 있다.
(1) 템플릿 변수 : 우리가 지정한 데이터로 변환
{{ 변수명 }}
view에서 template으로 원하는 데이터를 전달하고 template은 이 템플릿 변수를 이용해서 전달받은 데이터를 사용한다.
즉, 템플릿 변수는 view에서 템플릿으로 넘겨준 데이터로 해석되어서 변환된다.
그리고 템플릿 변수는 점 연산자를 지원한다.
{{ 변수명.속성 }}
이 점 연산자는 변수의 내부 속성에 접근할 때 사용한다.
다음과 같은 순서로 접근을 시도한다.
1. 변수를 사전형(dict)으로 생각하고 점 연산자로 Key값 조회
2. 변수를 객체로 생각하고 내부 속성 값 조회 또는 함수 호출
3. 변수를 리스트(list)로 생각하고 점 연산자로 Index 조회
(2) 템플릿 태그 : 템플릿 작성에 로직을 사용
{% 태그 %} {% end 태그 %}
템플릿 태그는 시작 태그와 종료 태그를 명시해서 사용한다.
2 - 1) 반복 태그
{% for %}
{% endfor %}
for를 이용해서 반복을 사용할 수 있다.
2 - 2) 조건 태그
{% if %}
{% else %}
{% endif %}
if를 이용해서 조건을 사용할 수 있다.
2 - 3) 상속 태그
{% block %}
{% endblock %}
block을 이용해서 상속을 사용할 수있다.
(3) 템플릿 필터 : 템플릿 변수를 특정 형식으로 변환
{{ 변수명 | 필터 }}
3 - 1) default
참조하는 템플릿 변수가 비어 있거나 bool형 False일 경우 변환되는 값을 지정한다.
{{ varialbe|default:"star" }}
변수가 비어 있거나 False면 star라는 텍스트로 대체된다.
3 - 2) capfirst
맨 첫 글자를 대문자로 바꿔 준다.
3 - 3) random
반복 가능한 템플릿 변수에 대해 무작위로 하나를 추출해 변환한다.
{{ variable|random }}
만약 variable이 ["a", "b", "c", "d" ]인 리스트라면 템플릿 변수가 리스트 내의 하나의 원소로 대체된다.
3 - 4) upper & lower
템플릿 변수를 대문자(upper)또는 소문자(lower)로 변환한다.
3 - 5) ljust & rjust
주어진 길이 내에서 공백을 넣어 왼쪽 정렬(ljust) 또는 오른쪽 정렬(rjust)을 한 문자열로 변환한다.
{{ variable|ljust:"length" }}, {{ variable|rjust:"length" }}
만약 variable이 star일 때 {{ variable|ljust:"10" }}이라면 "star______"가 된다.
(4) 템플릿 주석 : 템플릿 언어의 주석처리를 담당
{# 주석 #}
'웹 > Django' 카테고리의 다른 글
[Django] 동적 웹페이지 만들기 / 2021.08.30 (1) | 2021.08.30 |
---|---|
[Django] 중복되는 템플릿 코드 없애기, 템플릿 상속 / 2021.08.29 (2) | 2021.08.29 |
[Django] 정적(static)파일 관리하기 / 2021.08.27 (0) | 2021.08.27 |
[Django] Template과 렌더링 / 2021.08.25 (2) | 2021.08.25 |
[Django] Hello, Django! / 2021.08.24 (1) | 2021.08.24 |