Django 템플릿-템플릿 상속
2141 단어 템플릿 상속
1. 의미: 페이지의 중복 정의를 줄이고 페이지 내용의 재사용을 실현한다.
2. Block 태그: 부모 템플릿에 구덩이를 파서 일반적인 내용을 기입한다.
{%block content1%} # content1은 구덩이에 지어진 이름으로 쉽게 식별할 수 있습니다.
... 통용 내용을 기입하다.
{% endblock content1%}
3. extends 탭: 부모 템플릿의 내용을 계승하여 부모 템플릿 구덩이의 일반적인 내용을 하위 템플릿에 채우기;
{% extends'booktest/base.html'%} # 부모 템플릿 내용 계승하기;
-- 실제 응용 모델
-- 상위 템플릿
# 페이지의 머리와 밑부분을 가진다.
html>
{% block head%}
{% endblock %}
{% block content1 %}
!~~~~~~
{% endblock content1%}
contact
-- 첫 페이지.html
# 부모 템플릿의 머리와 밑부분만 상속하고 공용되는 다른 부분은 없다.
{% extends 'booktest/base.html'%}
-- 사용자 페이지.html
# 상위 템플릿의 머리와 아래쪽을 상속받은 경우
#또 하나의 공통된 왼쪽이 있고 오른쪽은 두 페이지로 분류와 내용을 보여준다.
#그래서 아버지 템플릿의 구덩이에 왼쪽의 같은 부분을 기입하고 오른쪽에 구덩이를 하나 더 파기;
{% extends 'booktest/base.html' %}
{% block content1 %}
사용자 탐색{% block content2%}{% endblock%}
{% endblock%}
-- 사용자 분류 페이지.html(user1.html)
# 이전 사용자 페이지 상속
# 동시에 사용자 페이지 오른쪽에 있는 구덩이를 채워 넣는다.
{% extends 'booktest/base_user.html' %}
{% block content2%}
! 1!
{% endblock content2%}
-- 사용자 컨텐트도.html(user2.html)
# 이전 사용자 페이지 상속
# 동시에 사용자 페이지 오른쪽에 있는 구덩이를 채워 넣는다.
{% extends 'booktest/base_user.html' %}
{% block content2%}
! 2!
{% endblock content2%}
-- 추가할 뷰 함수(views.py)
def inherit(request):
#
return render(request, 'booktest/next.html')
def base_user(request):
#
return render(request, 'booktest/base_user.html')
def user1(request):
# ——
return render(request, 'booktest/user1.html')
def user2(request):
# ——
return render(request, 'booktest/user2.html')
-- URLconf 구성
url(r'^next/$', views.inherit),
url(r'^base_user/', views.base_user),
url(r'^user1/', views.user1),
url(r'^user2/', views.user2),
-- 페이지 전시 현황
#첨부파일 보기!