1. Django Template System (Django 템플릿 시스템)

Django Template Engine

Django Template Engine

Django에서는 Template system을 사용하여 동적인 웹 페이지를 생성할 수 있습니다. Template system은 HTML 파일 내에 **Django Template Language(DTL)**을 사용하여 동적인 컨텐츠를 쉽게 생성할 수 있도록 도와줍니다.

Template system은 크게 템플릿(Template)과 템플릿 태그(Template tags)로 구성됩니다.

Template system은 Django의 Model-View-Template(MVT) 패턴에서 중요한 역할을 합니다. View에서 데이터를 처리하고, Template에서 데이터를 표시하며, Model은 데이터를 저장합니다.

Template system에서는 템플릿 태그를 사용하여 Python 코드를 실행할 수 있습니다. 템플릿 태그에는 다양한 종류가 있으며, 조건 분기, 반복문, include 등을 구현할 수 있습니다. 또 템플릿 상속(Inheritance)을 지원합니다. 템플릿 상속을 사용하면, 여러 개의 HTML 파일에서 중복되는 부분을 하나의 파일로 관리할 수 있습니다. {% extends 'base.html' %}와 같은 구문을 사용하여 상속할 템플릿을 지정합니다.

템플릿 필터(Template filters)를 사용하여 변수의 값을 가공할 수 있습니다. 템플릿 필터에는 문자열 처리, 날짜 포맷 변경 등 다양한 종류가 있습니다. {{ name|title }}과 같은 구문을 사용하여 name 변수의 값을 타이틀 케이스로 변환할 수 있습니다.

2. Template Language (템플릿 언어)

Django의 템플릿 엔진은 템플릿 내에서 변수, 태그, 필터 등의 템플릿 언어(Template Language)를 사용하여 데이터를 처리하고, 출력 결과를 생성합니다. 템플릿 엔진은 다음과 같은 기능을 제공합니다.