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>
- body 사이에 해당 코드를 삽입합니다.
{% include "layout.html" %}
- 해당 코드는 Django 템플릿 문법 중 하나인 include 태그를 사용한 것입니다.
- include 태그는 지정된 템플릿 파일을 현재 템플릿에 포함시켜주는 역할을 합니다. 위 코드에서는 "form_errors.html" 템플릿 파일을 현재 템플릿에 포함시켰습니다.
- 이 기능을 이용하면 반복적으로 사용되는 템플릿 코드를 별도의 파일로 분리하여 관리할 수 있으며, 코드의 재사용성과 유지보수성을 높일 수 있습니다.
- 이 방법을 응용해서 question_form.html, question_detail.html의 중복된 템플릿을 뽑아서 따로 적용시킵니다.
완성된 모습
'웹 애플리케이션 > Django(장고)' 카테고리의 다른 글
[Django] 로그인, 회원가입 기능 구현 (1) | 2023.04.20 |
---|---|
[Django] 페이징 기능 (0) | 2023.04.19 |
[Django] 화면 꾸미기 (1) | 2023.04.19 |
[Django] 관리자 계정 및 페이지, 동적 URL, 별칭 (0) | 2023.04.13 |
[Django] 앱 생성, 데이터베이스 연동, ORM (1) | 2023.04.13 |