Django #3 - Django Template System

김엣취·2024년 8월 15일

Django

목록 보기
4/17

HTML 중복코드 줄이기

articles/templates 경로에 있는 html파일들을 더 간편하게 줄일 수 있음.
그러려면 DTL을 알아야함

DTL(Django template language)란

Python에서 처리한 데이터를 HTML과 연결 시켜 줄 때 중간다리 역할을 해줌.
-> Flask에서 했던거 생각하면 됨

문법이 Python과 비슷해서 쓰기 좋음
여러가지 문법들..

그래서 어떻게 줄이냐면

공통되는걸 새 파일에 그대로 적고, 달라지는 부분은 구멍 뚫고 상속된 파일에서 다시 채워주면 됨.

# 가장 최상단에 위치 / template_name을 상속한다는 의미
# 다중상속 불가(여러 템플릿을 하나의 템플릿에 상속 불가)
{% extends 'template_name' %}

# 달라질 부분 구멍뚫고, 구멍 메꾸는 역할
{% block block_name %} {% endblock block_name %}

템플릿 사용의 편의성과 폴더의 정체성을 확실히 하기 위해
articles폴더와 같은 층에 templates폴더 만들고,
html 기본 틀을 넣어줄 새 파일을 만든 뒤

settings.py에서 "DIRS"에 BASE_DIR/"폴더이름"을 넣어주면 됨.

여기서 BASE_DIR은 settings의 부모의 부모파일(articles와 같은 층 공기를 마시는 친구들)을 뜻함.

그니까 저 사진을 예로 들어보자면, '가장 바깥에 있는 templates폴더를 잘 뒤적거려보거라.' 라고 설정해주는거임

+BASE_DIR/"폴더이름" 이렇게 쓸 수 있는건 라이브러리를 써서 가능한거임.

0개의 댓글