接上文
for迴圈
和其它程式語言一樣,for用來編輯列表中的項。下面以乙個例子來說明for在flask的jinjia2模板中的使用。
建立乙個模板list.html
**如下:
<li>}li>在code.py中新增url規則
)defrenderlist():
users = ["zhang san","li si","wang wu"]returnrender_template("list.html",users = users)
執行效果如下:
變數
描述
loop.index
當前迴圈迭代的次數(從
1 開始)
loop.index0
當前迴圈迭代的次數(從
0 開始)
loop.revindex
到迴圈結束需要迭代的次數(從
1 開始)
loop.revindex0
到迴圈結束需要迭代的次數(從
0 開始)
loop.first
如果是第一次迭代,為
true
。loop.last
如果是最後一次迭代,為
true
。loop.length
序列中的專案數。
loop.cycle
在一串串行間期取值的輔助函式。見下面的解釋。
我們以上面的例子來說明其中幾個變數的使用
<li>},"first:"},"last:"},"length:"},"index:"},"index0:"},"revindex:"},"revindex0:"},"cycle:"}li>執行效果:
通過if內聯過濾來篩選資料
jinjia2模板中的迴圈不支援break和continue語法。
可以通過if內聯過濾來篩選資料,舉例:
<h1>長度大於6的:h1>執行效果:<li>},"first:"},"last:"},"length:"},"index:"},"index0:"},"revindex:"},"revindex0:"},"cycle:"}li>
li si因長度小於6,未被顯示出來
使用else來處理空列表
當乙個for迴圈的資料來源為空時,可以用else進行替換方案顯示,比如我們for乙個不存在的物件items,然後用else作判斷:
<h1>空列表h1>執行效果:<li>}li>
<li>未找到資料li>
遞迴呼叫for迴圈
通過在for中使用recursive
關鍵字,並且在需要遞迴的地方使用loop方法就可以實現遞迴呼叫for迴圈
引用官方的例子如下:
flask之jinjia2模板語言
flask jinjia2.py 1 2 flask中的jinjia2模板語言 和django中模板類似 3 1 模板變數 45 2 模板標籤 6 for迴圈遍歷78 910 if.else判斷 1112 13 14.1516 17 18 3 模板繼承,配合模板中定義的block重寫需要改動的部分 ...
flask中jinjia2模板引擎使用詳解2
接上文 注釋的使用 在jinjia2模板中,使用進行 注釋,如下所示 執行後發現,注釋不會被render出來 去掉空行 兩種方法可以去掉jinjia2模板中的空白行,一是設定jinjia2的環境變數,如下 另一種是通過在模板的邏輯塊中新增 號 h1 hello h1 h1 name is numbe...
Ansible中的jinjia2模板
jinjia模板是在ansible中建立的一類模板檔案,通常以.j2結尾標識。模板的內容含有多個變數,使原本固定的某個檔案配置,通過引數的改變,變得可以復用,提高了使用效率。模板的組成 模板一般由多個元素組成,包含 資料 變數 表示式 變數 通常在play中的vars中進行標識,表示式為 表示式或者...