include
- base.html에서 layout.html 파일로 해당 코드를 분리합니다
<!-- 네비게이션바 -->
<nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
<div class="container-fluid">
<a class="navbar-brand" href="{% url 'pybo:index' %}">메인페이지</a>
<button class="navbar-toggler" type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="#">로그인</a>
</li>
</ul>
</div>
</div>
</nav>
{% include "layout.html" %}
- 해당 코드는 Django 템플릿 문법 중 하나인 include 태그를 사용한 것입니다.
- include 태그는 지정된 템플릿 파일을 현재 템플릿에 포함시켜주는 역할을 합니다. 위 코드에서는 "form_errors.html" 템플릿 파일을 현재 템플릿에 포함시켰습니다.
- 이 기능을 이용하면 반복적으로 사용되는 템플릿 코드를 별도의 파일로 분리하여 관리할 수 있으며, 코드의 재사용성과 유지보수성을 높일 수 있습니다.
- 이 방법을 응용해서 question_form.html, question_detail.html의 중복된 템플릿을 뽑아서 따로 적용시킵니다.
완성된 모습