Djangogirls_Tutorial(4)

템플릿 확장하기

서로 다른 페이지에서 HTML의 입루를 재사용할 수 있다는 의미
템플릿을 확장하여 사용하면, 모든 파일마다 같은 내용을 반복해서 입력할 필요가 없으며, 유지보수가 편리하다.

기본 템플릿 생성하기

templates/base.html 파일 생성


{% load static %}
<!doctype html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.css' %}">
    <link rel="stylesheet" href="{% static 'css/blog.css' %}">
</head>

<body>
<div class="header">
    <div class="container">
        <h1><a href="{% url 'post-list' %}">Django Girls Blog</a></h1>
    </div>
</div>
<div class="container">
    <!-- {% block content %}{% endblock %}은 HTML문서에 블럭을 지정  -->
    <!-- 비어있는 블록의 내용을 채우는 것은 '자식'템플릿이 할 일-->
    <h2>{% block title %}{% endblock %}</h2>
    {% block content %}
    {% endblock %}
</div>
</body>
</html>

기존 templates/blog/post_detail.html변경 및 base.html 연결

똑같은 방법으로 post_list.html 변경


<!-- base.html 연결 -->
{% extends 'base.html' %}
{% block content %}
<div class="container">
    <div class="post">
        <p class="post-date">created: {{ post.created_date }}</p>
        <h2 class="post-title"><a href="">{{ post.title }}</a></h2>
        <p class="post-content full">{{ post.content|linebreaksbr}}</p>
    </div>
</div>
{% endblock %}