七:模版文件的繼承
模板可以繼承,通過繼承可以把模板中許多重復(fù)出現(xiàn)的元素抽取出來,放在父模板中,并且父模板通過定義block給子模板開一個(gè)口哗咆,子模板根據(jù)需要,再實(shí)現(xiàn)這個(gè)block進(jìn)行具體內(nèi)容定義阵难。
{% extends "base.html" %}//1:繼承父模板
{% block title %}Index{% endblock %}//2:書寫title block
{% block head %}//3:書寫head block
{{ super() }}//調(diào)用父模板中的內(nèi)容岳枷,如果不調(diào)用,則此處會(huì)被子模板中書寫的內(nèi)容覆蓋掉.important{color:#336699;}{% endblock %}
{% block content %}//4:書寫content block
Index
Welcome to my awesome homepage.{% endblock %}
另外:模板文件中對block內(nèi)容的調(diào)用呜叫,可以使用 self.blockName 的方式空繁。
{% block title %}{% endblock %}
{{ self.title() }}
//調(diào)用title block的內(nèi)容
注意:在子模板中,所有的標(biāo)簽和代碼都要添加到從父模板中繼承的block中朱庆。否則盛泡,這些文本和標(biāo)簽將不會(huì)被渲染。(因?yàn)樽幽0逑喈?dāng)于把內(nèi)容嵌入到父模板到block中娱颊,而沒有寫到block中的內(nèi)容當(dāng)然不會(huì)被嵌入傲诵,也就不會(huì)被渲染。)
八:過濾器
過濾器是通過(|)符號(hào)進(jìn)行使用的箱硕,例如:{{ name|length }}:將返回name的長度拴竹。
過濾器相當(dāng)于是一個(gè)函數(shù),把當(dāng)前的變量傳入到過濾器中剧罩,然后過濾器根據(jù)自己的功能栓拜,再返回相應(yīng)的值,之后再將結(jié)果渲染到頁面中惠昔。