2014-01-26 2 views
1

저는 장고를 처음 사용하여 쉽게 성공적으로 설정하고 django-html5- 상용구를 쉽게 구성 할 수 있습니다. 나는 장고 1.6.1과 django-html5- 상용구 1.0.8을 사용하고있다. 그러나 모든 하위 템플릿에 머리글과 바닥 글을 표시하는 방법을 이해할 수 없으며 도움을 많이 주시면 감사하겠습니다. 이 dh5bp/base.html 확장 default.html입니다 :Django HTML5 상용구 머리글 및 바닥 글

{% extends 'dh5bp/base.html' %} 
{% load staticfiles %} 
{% load url from future %} 
{% block title %}{% endblock %} 
{% block head %} 
<link rel="stylesheet" href="{% static "css/base.css" %}"> 
{% endblock %} 
<header><h1>The site header</h1></header> 
{% block content %}{% endblock %} 
<footer><p>The site footer</p></footer> 

을 그리고이 확장 index.html입니다 default.html : 나는 경우 runserver부터 모든 정적 파일을 얻을 수 있음 (명령 행에서) 확인했습니다

{% extends "default.html" %} 
{% block title %}The home page{% endblock %} 
{% block content %}This main page is under construction.{% endblock %} 

장고 - html5- 상용구 설치 및 내 응용 프로그램의 정적 폴더에있는 내 css/base.css도 설치해야합니다. index.html은 "내용"메시지 만 표시하며 머리글이나 바닥 글은 표시하지 않습니다. 그러나 default.html에서 첫 번째 줄 {% extends 'dh5bp/base.html' %}을 제거하면 default.html에 정의 된 머리글과 바닥 글은 index.html에 표시됩니다. django-html5- 상용구에 머리말과 꼬리말을 표시하기위한 다른 설정이 필요합니까? 많은 감사드립니다. 장고 템플릿 상속 계층 구조에서 아시프

답변

1

은 아이 템플릿의 모든 부모 템플릿에서 한 블록 안에 있어야합니다. "default.html"은 기본 템플릿이 아니므로 모든 것이 블록에 있어야합니다. 그러나 머리글과 바닥 글은 그렇지 않으므로 어디에도 가지 않습니다.

아이들이 상속을 위해 그들은 다음 다른 블록을 정의해야합니다 귀하의 content 블록 내부에 있어야한다 :

{% block content %} 
<header><h1>The site header</h1></header> 
{% block child_content %}{% endblock %} 
<footer><p>The site footer</p></footer> 
{% endblock %}