Django Extenstion Template

개발을 하다보면 웹 페이지마다 공통적으로 들어가는 HTML 코드가 있다. 이때 공통코드를 중복해서 넣어 주는 것은 효율적이지 않으므로 Django에서는 이러한 공통 부분을 **기본 템플릿(Base Template)**으로 만들고, 각 페이지마다 필요한 코드만 작성할 수 있게 템플릿 확장(Template Extenstion) 기능을 제공한다.

여기서 base template의 위치는 프로젝트 최상단에 생성해준다.(모든 애플리케이션에 적용하기 위해서)

├── admin
├── db.sqlite3
├── manage.py
├── templates
│   └── base.html
└── toast_grid
<!-- base.html -->
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Admin 페이지</title>
</head>
<body>
	<div data-gb-custom-block data-tag="block">

	

</div>	
</body>
</html>

<div data-gb-custom-block data-tag="block"> </div> 으로 각 웹페이지에서 변경 혹은 삽입할 영역을 지정할 수 있다.

그리고 나서 각 html 파일에서 base.html 을 확장하여 사용할 때는 `

` 확장 템플릿 태그를 사용하면된다.

<div data-gb-custom-block data-tag="extends" data-0='base.html'></div>

<div data-gb-custom-block data-tag="block">

<!-- 내부에 따라 다른 코드 입력 -->

</div>

Last updated