본문 바로가기
  • 살짝 구운 김 유나
Web/Django

Templates Inheritance

by yunae 2022. 9. 1.

템플릿 상속은 기본적으로 코드의 재사용성에 초점을 맞춤
템플릿 상속을 사용하면 사이트의 모든 공통 요소를 포함하고,
하위 템플릿이 override 할 수 있는 블록을 정의 하는 기본 'skeleton' 템플릿을 만들 수 있음



템플릿 상속에 관련된 태그

1. 하위 템플릿이 부모 템플릿을 확장한다는 것을 알림 (상속)

{% extends '' %}

※ 반드시 템플릿 최상단에 작성 되어야 함 (즉, 2개 이상 사용할 수 없음)


2. 하위 템플릿에서 재지정할 수 있는 블록을 정의

{% block content %}{% endblock content %}

- 즉, 하위 템플릿이 채울 수 있는 공간
- 가독성을 높이기 위해 선택적으로 endblock 태그에 이름을 지정할 수 있음

만약 모든 템플릿에 부트스트랩을 적용하려면?
-> base.html을 만들어서 상속하자!



템플릿 상속 예시

base라는 이름의 skeleton 템플릿 작성
+ 부트스트랩 CDN 작성


템플릿에서 base 템플릿을 상속받음
- 부트스트랩 적용됨




추가 템플릿 경로 추가하기

: base.html을 프로젝트 최상단의 templates 디렉토리 안에 위치하고 싶다면?

기본 template 경로가 아닌 다른 경로를 추가하기 위해 다음과 같은 코드 작성

app_name/templates/ 디렉토리 경로 외 추가 경로를 설정한 것!



[참고] BASE_DIR
- settings.py에서 특정 경로를 절대 경로로 편하게 작성할 수 있도록 Django에서 미리 지정해둔 경로 값



공원에서 만난 귀욤씨. 좋겠다 넌 장고 안해도 되잔아. 행복하렴.

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

Django Model 2 - QuerySet API  (0) 2022.09.02
Form Data 보내고 가져오기  (0) 2022.09.02
Django Model 1  (0) 2022.08.31
Django 시작하기  (0) 2022.08.30
Django 이해하기  (0) 2022.08.30

댓글