Languages/Python
[Django] Template extending - Djangogirls
김크롱
2020. 7. 31. 14:30
템플릿 확장
: 웹사이트 안의 서로 다른 페이지에서 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/
템플릿 확장하기 · HonKit
장고의 또 다른 멋진 기능은 템플릿 확장(template extending) 입니다. 무슨 뜻일까요? 바로 여러분의 웹사이트 안의 서로 다른 페이지에서 HTML의 일부를 동일하게 재사용 할 수 있다는 뜻이에요. 이 ��
tutorial.djangogirls.org