본문 바로가기

[Python] django include 기능

액트 2022. 10. 7.
반응형

include 기능이란 반복되는 html 코드를 한 html 파일로 작성하여 다른 html 코드 안에 삽입하는 기능입니다.

네비게이션바를 base.html 템플릿에 추가해 보겠습니다.

우선 base.html 템플릿에 포함시킬 navbar.html 템플릿을 만들어 보겠습니다.

먼저 mystie\templates\navbar.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' %}">Pybo</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>

그리고 base.html 파일의 <body> 태그 밑을 다음과 같이 수정합니다.

<body>
<!-- 네비게이션바 -->
{% include "navbar.html" %}     <<<--- 기존 네비게이션바 html 삭제 후 추가
<!-- 기본 템플릿 안에 삽입될 내용 Start -->
...

기존 네비게이션바 html 코드를 삭제하고 navbar.html 템플릿을 include 하는 태그를 포함시킵니다.

다시 http://localhost:8000/pybo/ 페이지를 새로고침하시면 똑같이 적용된 것을 확인하실 수 있습니다.

 

이 글은 점프 투 장고 위키독의 내용을 보고 공부한 내용입니다.

반응형

댓글