Web框架——Flask系列之宏、继承、包含(十八)
一、宏
類似于python中的函數,宏的作用就是在模板中重復利用代碼,避免代碼冗余。
Jinja2支持宏,還可以導入宏,需要在多處重復使用的模板代碼片段可以寫入單獨的文件,再包含在所有模板中,以避免重復。
5. 把宏單獨抽取出來,封裝成html文件,其它模板中導入使用
文件名可以自定義macro.html:
在其它模板文件中先導入,再調用
{% import 'macro.html' as func %} {{ func.function() }}
二、模板繼承
模板繼承是為了重用模板中的公共內容。一般Web開發中,繼承主要使用在網站的頂部菜單、底部。這些內容可以定義在父模板中,子模板直接繼承,而不需要重復書寫。
{% block top %}``{% endblock %}標簽定義的內容,相當于在父模板中挖個坑,當子模板繼承父模板時,可以進行填充。
子模板使用extends指令聲明這個模板繼承自哪?父模板中定義的塊在子模板中被重新定義,在子模板中調用父模板的內容可以使用super()。
模板繼承使用時注意點:
三、包含
Jinja2模板中,除了宏和繼承,還支持一種代碼重用的功能,叫包含(Include)。它的功能是將另一個模板整個加載到當前模板中,并直接渲染。
示例:
include的使用
{% include 'hello.html' %}包含在使用時,如果包含的模板文件不存在時,程序會拋出TemplateNotFound異常,可以加上ignore missing關鍵字。如果包含的模板文件不存在,會忽略這條include語句。
示例:
include的使用加上關鍵字ignore missing
{% include 'hello.html' ignore missing %}四、總結宏、繼承、包含:
總結
以上是生活随笔為你收集整理的Web框架——Flask系列之宏、继承、包含(十八)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python n个list如何组成矩阵_
- 下一篇: 一、Vue基础语法学习笔记系列——插值操