본문 바로가기

Python/Django

장고 걸즈 튜토리얼 따라하기 12 - 템플릿 확장

장고 걸즈 튜토리얼 따라하기 12 - 템플릿 확장

템플릿 확장이란?

템플릿 확장(template extending)은 사이트 안의 서로 다른 페이지에서 HTML의 일부를 재사용할 수 있는 것이다.

이것을 활용하면 모든 파일마다 같은 내용을 반복해서 입력할 필요가 없고, 수정할 부분이 생겼을 때, 딱 한번만 수정하면 된다.

 

기본 템플릿 생성하기

blog/templates/blog/base.html 파일을 만든다.

그 다음 post_list.html에 있는 모든 내용을 base.html에 입력한다.

그 다음 base.html<body> 태그 내의 내용을 다음과 같이 수정한다.

위 코드는 템플릿 태그 {% block %}으로 HTML 내에 들어갈 수 있는 공간을 만든 것이다. 이제부터 base.html을 확장해 다른 템플릿에서 가져다 쓸 수 있다.

이제 blog/templates/blog/post_list.html 파일을 다시 열고 {% for post in posts %}부터 {% endfor %}까지만 남기고 모든 내용을 지운다.

base.html 파일의 콘텐츠 블록에 포함하게 하기 위해서 {% block content %}{% endblock %} 사이에 모든 코드를 넣는다.

이제 두 템플릿을 연결하기 위해서 post_list.html의 맨 윗줄에 다음과 같은 코드를 추가한다.

마지막으로 서버를 실행하고 페이지를 확인해본다.