템플릿 확장
: 웹사이트 안의 서로 다른 페이지에서 HTML의 일부를 동일하게 재사용 가능
- 같은 정보/레이아웃을 쓰고자 할 때 모든 파일마다 같은 내용을 반복해서 입력할 필요없음
- 수정할 부분이 생겼을 때 한번만 수정하면 됨
blog/templates/blog/base.html
: 레이아웃이 될 파일
- base.html 생성
{% load static %}
<html>
<head>
<title>Blog Name</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<link href='//fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
</head>
<body>
<div class="page-header">
<h1><a href="/">Blog Name</a></h1>
</div>
<div class="content container">
<div class="row">
<div class="col-md-8">
{% for post in posts %}
{% endfor %}
</div>
</div>
</div>
</body>
</html>
blog/templates/blog/post_list.html
: 레이아웃인 base.html 에 들어갈 부분만 작성
{% extends 'blog/base.html' %}
{% block content %}
{% for post in posts %}
<div class="post">
<div class="date">
{{ post.published_date }}
</div>
<h1><a href="">{{ post.title }}</a></h1>
<p>{{ post.text|linebreaksbr }}</p>
</div>
{% endfor %}
{% endblock %}
base.html의
{% for post in posts %}
{% endfor %}
에
post_list.html의
{% block content %}
..
{% endblock %}
안의 내용이 적용됨
https://tutorial.djangogirls.org/ko/template_extending/
'Languages > Python' 카테고리의 다른 글
[Django] form - Djangogirls (0) | 2020.07.31 |
---|---|
[Django] 애플리케이션 확장 - Djangogrils (0) | 2020.07.31 |
[Django] templates 꾸미기 - Djangogirls (0) | 2020.07.30 |
[Django] Template tags - Djangogirls (0) | 2020.07.30 |
[Django] 템플릿 동적 데이터 - Djangogirls (0) | 2020.07.30 |