[Django] Template System

    Django Template System이란?

    : 데이터 표현을 제어하면서, 표현과 관련된 부분을 담당한다.
    Django Template Language(DTL)을 이용해서 구현한다.

     

     

    Django Template Language(DTL)이란?

    : Template에서 조건, 반복, 변수 등의 프로그래밍적 기능을 제공하는 언어로, HTML을 훨신 더 편하게 작성할 수 있다.

     

     

    DTL의 요소들

    1. Variable(변수)

    • render 함수의 세번째 인자로 딕셔너리 데이터를 사용(주로 context이용)
    • 딕셔너리 key에 해당하는 문자열이 template에서 사용할 수 있는 변수명이 됨
    • dot(.)을 사용하여 변수 속성에 접근할 수 있다.

    views.py에서는 context라는 이름을 가진 딕셔너리를 만들어 준다. 

    딕셔너리 안의 키값을 변수명으로 사용할 수 있다.

     

    index.html에서 context의 key값인 name을 사용해서 Jane을 출력하게 만들 수 있다.

    {{변수명}}의 형식을 가진다

     

    2. Filters

    • 표시할 변수를 수정할 때 사용
    • chained가 가능하며, 일부 필터는 인자를 받기도 함
    • 약 60개의 built-in template filter을 제공

     

    출력 결과

    {{변수명|필터}}의 형식을 가진다.

     

     

    3. Tags

    • 반복 또는 논리를 수행하여 제어 흐름을 만듦
    • 일부 태그는 시작과 종료 태그가 필요
    • 약 24개의 built-in template tags를 제공

    출력 결과

    python의 for, if문과 같은 문법을 가진다. 
    {% if 조건문 %} 내용 {% endif %}과 같은 형식을 가진다.

     

    4. Comments

    : DTL에서의 주석

    {# 주석1 #}
    {% comment %}
    주석2 = (ctrl+/)
    {% endcomment %}

     

     


    Django 공식문서

    'BackEnd > Django' 카테고리의 다른 글

    [Django] 요청과 응답(form)  (0) 2023.09.13
    [Django] Template 상속  (0) 2023.09.13
    [Django] MTV 디자인 패턴  (0) 2023.09.12
    [Django] Django 프로젝트 만들기  (0) 2023.09.12
    [Django] 가상환경 만들기  (0) 2023.09.12

    댓글