知識點: 一、模板導入 二、模板繼承html
模板導入就是將另外一個模板加載到當前模板中,直接渲染。模板繼承和類的繼承含義是同樣的,主要是爲了提升代碼重用,減輕開發人員的工做量。 典型應用:網站的頭部、尾部信息。python
{% include(‘模板名稱’) %}
{% include(‘目錄/模板名稱’) %}
複製代碼
#導入頭部header.html
{% include 'header.html' %}
主體內容
#導入底部footer.html
{% include 'footer.html' %}
#忽略模板文件不存在時的錯誤
{% include 'footer.html' ignore missing %}
#也能夠組成模板列表,會按照順序依次加載
{% include ['footer.html','bottom.html','end.html'] ignore missing %}
複製代碼
若是發如今多個模板中某些內容相同,那就應該把這段內容定義到父模板中。 標籤block:用於在父模板中預留區域,留給子模板填充差別性的內容,名字不能相同。 爲了更好的可讀性,建議給endblock標籤寫上名字,這個名字與對應的block名字相同。父模板中也可使用上下文中傳遞過來的數據。瀏覽器
{%block 名稱%}
預留區域,能夠編寫默認內容,也能夠沒有默認內容
{%endblock %}
複製代碼
標籤extends:繼承,寫在子模板文件的第一行。
{% extends "父模板路徑"%}
複製代碼
子模版不用填充父模版中的全部預留區域,若是子模版沒有填充,則使用父模版定義的默認值。 填充父模板中指定名稱的預留區域。bash
{%block 名稱%}
實際填充內容
{%endblock %}
複製代碼
新建一個base.html寫以下代碼:網站
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>我是頭部</h1>
{% block content %}
默認內容
{% endblock %}
<h1>我是尾部</h1>
</body>
</html>
複製代碼
新建一個extends.html繼承於base.htmlspa
{% extends 'base.html' %}
{% block content %}
填充內容
{% endblock %}
複製代碼
咱們在瀏覽器調試一下: 調試
能夠經過super()來調用父模板內容code
{% extends 'base.html' %}
{% block content %}
{{ super() }}
{% endblock %}
複製代碼
咱們在瀏覽器調試一下: cdn
歡迎關注個人公衆號:htm