템플릿은 중복이 많이 일어나는 컴포넌트이다. 왜냐하면 특정한 부분의 구성만 달라질 뿐, 웹사이트의 전체적인 구조는 전반적으로 비슷하기 때문이다.
이러한 중복되는 코드를 계속 쓰는 것은 비효율적인데, django에서는 이러한 중복적인 부분을 템플릿 상속을 통해서 해결할 수 있다.
상속은
부모파일
로 만들어두고, 자식파일
에서는 공통되는 부분은 부모파일에서 상속받고, 달라지는 부분만 따로 작성하는 것을 말한다.django에서의 상속은 :
{% block %}
~ {% endblock %}
{% extends %}
를 이용해서 구현한다.
base.html (부모 템플릿)
index.html (자식 템플릿)
참고로 base template(부모템플릿)에서 block으로 따로 작성해야한다고 명시했음에도 불구하고, index temlate(자식템플릿)에서 아무런 작성도 하지 않는다면❓❓❔❔
✔ 부모템플릿에서 구현된 부분을 그냥 물려받게 된다. 이 상태에서 자식템플릿에서 구현이 안된부분을 다시 작성해준다면 부모템플릿의 내용은 없어지고 자식템플릿의 내용만 출력된다.