Web/Django
Templates Inheritance
yunae
2022. 9. 1. 22:02
템플릿 상속은 기본적으로 코드의 재사용성에 초점을 맞춤
템플릿 상속을 사용하면 사이트의 모든 공통 요소를 포함하고,
하위 템플릿이 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에서 미리 지정해둔 경로 값
공원에서 만난 귀욤씨. 좋겠다 넌 장고 안해도 되잔아. 행복하렴.