템플릿(template) 언어
Django의템플릿 언어(template language)는 강력함과 편리함 사이의 균형을 잡고자 설계되었다.
템플릿 언어를 사용하면 HTML 작업을 훨씬 수월하게 할 수 있다.
간단하게 말해 파이썬 변수 및 문법을 html 안에서 쓸 수 있도록 장고에서 제공해주는 언어입니다.
때문에 html과도 파이썬과도 조금 다릅니다.
하지만 직관적이고 사용하는데 있어서 고도의 학습량을 요구하는게 아닙니다!
템플릿 변수
-
템플릿변수를 사용하면 뷰에서 템플릿으로 객체를 전달할 수 있다.
-
{{ 변수 }}
와 같이 생겼다. -
점(.)
은 변수의 속성에 접근할 때 사용한다.
ex) user의 name속성에 접근할때
{{user.id}}
템플릿 필터
필터로 인해서 변수에 여러가지 효과를 줄 수 있습니다.
필터는 | 를 이용해 사용할 수 있습니다.
아래 에서 30개 정도의 필터를 보실 수 있을 겁니다.
30개를 모두 설명할 수는 없고 대표적으로 한 가지만 설명 드리도록 하겠습니다.
대표적으로
length
이름에서도 알 수 있듯이 값의 길이를 반환합니다.
문자열이나 리스트 등 길이가 있는 자료형에 대해서
{{ name| length }}
다음과 같이 사용합니다.
템플릿 태그
태그는 {% tag %} 다음과 같은 모양을 하고 있습니다.
마찬가지로 이 역시
django-doc-test-kor.readthedocs.io/en/old_master/ref/templates/builtins.html#ref-templates-builtins-tagsdjango-doc-test-kor.readthedocs.io/en/old_master/ref/templates/builtins.html#ref-templates-builtins-tags
위의 링크를 통해서 확인할 수 있습니다.
마찬가지로 몇 가지만 알아보도록 하겠습니다.
제일 많이 쓰는 건 아무래도, 반복문과 제어문이겠죠.
반복문, for
{% for blog in blog_list %}
<p>{{ blog.title }}</p>
{ % endfor %}
조건문
{% if blog_list %}
<p>게시물의 수 : {{ blog_list | length }}</p>
{% else %}
<p>게시물이 없습니다.</p>
템플릿 상속
- 말 그대로 html 문서 중 기본 뼈대가 되는 문서를 기본 템플릿으로 정하고, 이는 공통의 코드이므로 다른 문서에서 기본 템플릿의 코드가 필요하면 상속하여 가져다 쓰는 것입니다.
- 기본이 되는 템플릿을 'base.html'로 정합니다.
위와 같이 extends로 기반 html파일을 불러오고
block content를 사용하여 내용을 채워넣어 사용할 수 있다!!
참조 :
'django' 카테고리의 다른 글
requirements.txt를 통한 의존성 관리 (0) | 2021.02.22 |
---|---|
[Django] 클래스형 뷰 (CBV, Class-Based View) (0) | 2021.02.14 |
[Django] 쿼리셋(QuerySet) (0) | 2021.02.05 |
[Djnago] HttpRequest와 HttpResponse API (1) | 2021.02.02 |
[Django] 프로젝트 및 앱 구조 (0) | 2021.01.31 |