包含,繼承,巨集 都是為了提高**的效率,都是為了防止**的沉餘,浪費資源
巨集(macro)
可以把它看做jinja2中的乙個函式,他會返回乙個模板或者html字串,為了避免反覆的編寫同樣的模板**,出現**沉餘,可以把它們協程函式以進行重用,需要在多出重複使用的模板**片段可以寫入單獨的檔案,在包含在所有模板中,以避免重複。
繼承:
模板繼承是為了重用模板中的公共內容,一般web開發中,繼承主要使用在**的頂部選單,底部。這些內容可以定義在父模板中,子模板直接繼承,而不需要重複書寫,關鍵字為block ,extends
先定義乙個標籤的內容,相當於在父模板中挖個坑,當子模板繼承父模板時,可以進行填充。
子模板使用extends指令宣告這個模板繼承自那個模板,父模板中定義的快在子模板中被重新定義,在字幕板中呼叫父模板的內容可以使用super()。
extends指令宣告這個模板繼承自那兒~
使用繼承的時候注意一下幾點:不支援多繼承,為了便於閱讀,在子模板中使用extends時,盡量寫在模板的第一行,不能再乙個模板檔案中定義多個相同名字的block標籤,當在頁面中使用多個block標籤時,簡易給結束標籤起個名字,當多個block巢狀時,閱讀性更好
包含:
包含是除了巨集和繼承,還可以支援**重用的功能,他的功能是將另乙個模板整個載入到當前的模板中,並直接渲染。
include 是包含的檔案 , 包含在使用時,如果包含的模板的檔案不存在時,程式會丟擲templatenotfound,可以加上ignore missing 關鍵字,如果包含的模板檔案不存在,會忽略這條include語句 。
巨集(macro),繼承(block),包含(include) 均能實現**的復用。
繼承的本質是**替換,一般用來實現多個頁面中重複不變的區域,巨集的功能類似函式,可以穿入引數,需要定義,呼叫。,包含是直接將目標模板檔案整個渲染出來。
flask 巨集,繼承和包含
flask中 的巨集就是為了避免 的重用,提高開發效率的一種方式,在 復用率高的情況下 只需要定義乙個巨集,然後重複呼叫就行了,首先定義乙個巨集 macro 如以下 把乙個標籤的字段定義乙個巨集 然後再呼叫巨集 這樣可以多次重複呼叫就能達到自己i想要的效果,是不是很方便呢 繼承block 繼承從名字...
Flask學習筆記(十)巨集 繼承 包含
巨集 繼承 包含 類似於python中的函式,巨集的作用就是在模板中重複利用 避免 冗餘。jinja2支援巨集,還可以匯入巨集,需要在多處重複使用的模板 片段可以寫入單獨的檔案,再包含在所有模板中,以避免重複。定義巨集呼叫巨集 定義帶引數的巨集 呼叫巨集,並傳遞引數 把巨集單獨抽取出來,封裝成htm...
Flask 模板繼承
在模板中,可能會遇到以下情況 像遇到這種情況,可以使用 jinja2 模板中的繼承來進行實現 模板繼承是為了重用模板中的公共內容。一般web開發中,繼承主要使用在 的頂部選單 底部。這些內容可以定義在父模板中,子模板直接繼承,而不需要重複書寫。檢視 from flask import flask,r...