파이썬 장고 템플릿 상속 활용하기: 웹사이트 일관성 유지 방법

파이썬 장고 템플릿 상속 활용하기: 웹사이트 일관성 유지 방법

웹 개발에서 사이트의 일관된 디자인과 레이아웃 유지는 중요한 과제 중 하나입니다. 장고의 템플릿 상속 기능은 이러한 문제를 해결하는 효과적인 방법을 제공합니다. 이 글에서는 장고 템플릿 상속의 개념과 활용 방법에 대해 알아보겠습니다.

템플릿 상속의 개념

템플릿 상속은 장고에서 웹 페이지의 공통 요소(예: 헤더, 푸터, 사이드바 등)를 재사용할 수 있게 해주는 기능입니다. 기본적으로 ‘베이스’ 템플릿을 만들고, 이를 상속받는 ‘자식’ 템플릿들에서 특정 부분만을 오버라이드(재정의)하여 사용할 수 있습니다.

베이스 템플릿 정의하기

먼저, 사이트의 모든 페이지에 공통적으로 포함될 요소를 가진 베이스 템플릿을 정의합니다. 베이스 템플릿은 일반적으로 base.html과 같은 이름으로 저장됩니다.

<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}My Website{% endblock %}</title>
</head>
<body>
    <header>...</header>
    <nav>...</nav>
    <main>
        {% block content %}{% endblock %}
    </main>
    <footer>...</footer>
</body>
</html>

여기서 {% block %} 태그는 자식 템플릿에서 오버라이드할 수 있는 부분을 정의합니다.

자식 템플릿에서 베이스 템플릿 상속하기

베이스 템플릿을 정의한 후, 이를 상속받아 각 페이지에 특화된 템플릿을 만들 수 있습니다. 이때 {% extends 'base.html' %} 태그를 사용하여 베이스 템플릿을 상속받음을 명시합니다.

{% extends 'base.html' %}

{% block title %}Home Page{% endblock %}

{% block content %}
    <h1>Welcome to My Website</h1>
    <p>This is the home page.</p>
{% endblock %}

이 예시에서는 베이스 템플릿의 titlecontent 블록을 오버라이드하여 사용자에게 특정 페이지의 내용을 제공합니다.

결론

장고의 템플릿 상속 기능을 사용하면, 웹사이트의 일관성을 유지하면서도 각 페이지의 고유한 내용을 효과적으로 관리할 수 있습니다. 템플릿 상속은 장고 웹 개발의 생산성과 유지보수성을 크게 향상시키는 핵심 기능 중 하나입니다.

더 많은 정보와 고급 기능을 원하신다면, 장고 공식 문서의 템플릿 상속 섹션을 참조하세요.

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤