초보 개발자

extend base.html, include 본문

Python/airbnb 클론

extend base.html, include

taehyeki 2022. 2. 5. 21:41

render를 사용하여 html을 보여주고 거기에 context를 사용하여 정보를 넘겨주는 것 까지 해봤다.

 

근데 여기서 우리가 base.html이라는 기본 적인 틀을 만들어 두고 사용할 수 있다.

templates.base.html

templates의 폴더에 base.html을 만들고 위와 같이 {%block content%}{%endblock%} 을 만들어주면,

templates.room.home.html

extend로 받아올 수 있다. home.html은 base.html의 하위에 존재하지만 ../base.html과 같이 안적어줘도된다.

여기서 base.html에 block content가 있다면 home.html에서도 그 block을 사용할 수 있다. 만약 base와 block이름이 다르다면 사용할 수 없다.

 

이번엔 header를 만들어줘보자 모든 페이지에 다 보이게 하려면 base에 만들어주어야 한다.

하지만 base.html에 이것 저것 정보가 많이 들어가면 복잡해보이고 나중에 관리하기도 힘들어진다. 따라서 여기서 사용할 수 있는 것이 include였다. 전에 ulrs에서 다른 앱의 urls를 가져올 때도 한번 사용했던 적이 있따. 우리는 templates에 partial라는 폴더를 만들고 거기에 헤더와 푸터를 만들어주고 base에서 불러와서 사용해보도록 하자.

base.html

 

header.html

 

footer.html

이렇게 작게 작게 쪼개나갈 수도 있다.

'Python > airbnb 클론' 카테고리의 다른 글

pagenation 2  (0) 2022.02.06
pagenation 1  (0) 2022.02.05
url, views  (0) 2022.02.05
django-seed  (0) 2022.02.04
raw_ids ,inline Admin, save()  (0) 2022.01.26