Backend/Django

Django 파이썬 장고 Template Filter

쏠솔랄라 2023. 7. 11. 12:04

 

 

Template Tag / Filter

 

: render를 통해서 전달받은 Data를 Template의 특정 위치에 배치하기 위해서 사용되는 태그 또는 필터

 


종류
{{  }} : 전달받은 Data의 키를 이용하여 값에 접근할수 있게 한다 ; DATA표현을 해주는 Template Tag
{%  %} : 특정 기능을 수행하는 블록
{#  #} : 주석 ; Template의 주석처리 ; 페이지 소스보기에서는 보이지 않는다

 


Template의 계층화
: Template의 구조를 Page, Layout, Content의 구조로 모듈화하여 
Template을 사용 목적에 맞춰 구성할 수 있게 되어 있다

 


장점
코드의 재사용성이 높다
유지보수가 쉬워진다
구조 분리를 통해 협업이 쉬워진다

 


단점
전체 계층 구조를 파악해야 한다
처음 구조를 만들기가 어렵다
코드가 분산되어 있어 찾기가 어렵다

 

 

{% extends 'template_path' %}

page를 만들때 기본적으로 사용할 Layout이 있는 template을 지정하는 지시어
기본 layout에 정의한 구조에 따라서 page의 작성한 코드가 확장된다

 

{% block block_name %} {% endblock %}

page와 layout 모두 작성한다
layout구조에 확장 영역을 지정하기위해서 사용한다
page에 지정된 layout영역에 코드를 확장하기위해서 사용된다

 

{{ block.super }}

Layout에 기본 코드를 작성할수 있으며 이 기본 코드를 유지한 상태로 page에서 코드를 확장할때 사용한다

 

{% include 'template_path' %}
{% include 'template_path' with name=variable %}

Page 또는 Layout에 Content를 포함한다