5. 參考文件
jinja2是python的模板引擎, 在寫python web使用的過程中,發現macro可以節省大量的**.所以做了乙個小的總結.
用法基本上都是網上的文章. 自己主要是寫了注意事項,也算是心得體會.
巨集類似常規程式語言中的函式。它們用於把常用行為作為可重用的函式,取代 手動重複的工作。 例子:
在命名空間中,巨集之後可以像函式一樣呼叫:
}如果巨集在不同的模板中定義,你需要首先使用 import}
varargs引數變數如果有多於巨集接受的引數個數的位置引數被傳入,它們會作為列表的值儲存在 varargs 變數上。
kwargs
同 varargs ,但只針對關鍵字引數。所有未使用的關鍵字引數會儲存在 這個特殊變數中。
caller
如果巨集通過 call 標籤呼叫,呼叫者會作為可呼叫的巨集被儲存在這個 變數中。
巨集也可以暴露某些內部細節。下面的巨集物件屬性是可用的:
name
巨集的名稱。 } 會列印 input 。
arguments
乙個巨集接受的引數名的元組。
defaults
預設值的元組。
catch_kwargs
如果巨集接受額外的關鍵字引數(也就是訪問特殊的 kwargs 變數),為 true 。
catch_varargs
如果巨集接受額外的位置引數(也就是訪問特殊的 varargs 變數),為 true 。
caller
如果巨集訪問特殊的 caller 變數且由 call 標籤呼叫,為 true 。
module變數
call 的變數
這個和其他的語言比如c語言的macro是很大的不同. 你在模組中想讓macro引用自身的變數是不能實現的.
macro的出現,本質是想解決重複**的問題. 和block相比,因為不能使用module中的引數,也就是說和block是 相輔相成的關係. 不存在互相覆蓋的問題.
macro 的重心在於替換簡單的重複性質的**.
block 的重心在於重複框架**的替換.
模板設計者文件
出處:
jinja2 巨集的簡單使用總結 macro
5.參考文件 jinja2是python的模板引擎,在寫python web使用的過程中,發現macro可以節省大量的 所以做了乙個小的總結.用法基本上都是網上的文章.自己主要是寫了注意事項,也算是心得體會.巨集類似常規程式語言中的函式。它們用於把常用行為作為可重用的函式,取代 手動重複的工作。例子...
jinja2 巨集的簡單使用總結 macro
5.參考文件 jinja2是python的模板引擎,在寫python web使用的過程中,發現macro可以節省大量的 所以做了乙個小的總結.用法基本上都是網上的文章.自己主要是寫了注意事項,也算是心得體會.巨集類似常規程式語言中的函式。它們用於把常用行為作為可重用的函式,取代 手動重複的工作。例子...
Jinja2模板簡單使用
目錄 jinja2與flask jinja2模板簡單使用示例 jinja2是python中乙個被廣泛應用的模板引擎。它基於unicode並能在python2.4之後的版本執行。flask使用jinja2作為框架的模板系統。1.所有檔案都應放在templates目錄中。template目錄與pytho...