Q&A

책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.

p.283 - 'include로 내비게이션 바와 푸터 모듈화하기' 질문입니다.

3 years, 2 months ago

alive alive

해당 파트에서 내비게이션 바와 푸터를 {% include 'blog/navbar.html' %} 같은 방법으로 base.html 파일에 include를 하셨는데요.


아래와 같은 방법으로

{% block main_area %}
{% endblock %}

post_list와 post_detail을 base.html에 추가하는 방식과는 어떤 차이가 있는 건지 알고 싶습니다.

감사합니다.


sungyong
sungyong   3 years, 2 months ago

base.html에서 navbar와 footer를 include 하는 이유는 navbar와 footer를 base.html이 아닌 다른 템플릿 파일에서도 이용하기 위해서입니다.

이 부분은 19장을 배울 때 나오는데요. 19장에서 landing 페이지를 만들 때, 별도의 템플릿 파일을 만들고 그 파일에서 navbar와 footer를 동일하게 사용합니다. 


post_list.html과 post_detail.html에서 base.html을 추가한다는 표현은 정확하지는 않습니다. 

base.html을 만들어 main_area를 빈칸으로 남겨두고, post_list.html과 post_detail이 base.html을 끌어와 확장해서 만드는 개념이라고 이해하시는게 정확할 것 같습니다. 


말씀처럼 둘다 비슷한 기능을 제공한다고 볼 수도 있습니다. 다만, 어떤게 더 편하냐에 따라 적절히 골라서 사용하시면 될 것 같습니다. 

Updated: Sept. 25, 2021, 3:37 p.m.

Leave a Comment:
목록보기
Search
  • 자유게시판
  • Q&A