jinja 允許你用計算值。這在模板中很少用到,但是為了完整性允許其存在。支援下面的 運算子:
把兩個物件加到一起。通常物件是素質,但是如果兩者是字串或列表,你可以用這 種方式來銜接它們。無論如何這不是首選的連線字串的方式!連線字串見 ~ 運算子。 } 等於 2 。
用第乙個數減去第二個數。 } 等於 1 。
對兩個數做除法。返回值會是乙個浮點數。 } 等於 } 。
對兩個數做除法,返回整數商。 } 等於 2 。
計算整數除法的餘數。 } 等於 4 。
用右邊的數乘左邊的運算元。 } 會返回 4 。也可以用於重 復乙個字串多次。 } 會列印 80 個等號的橫條。
取左運算元的右運算元次冪。 } 會返回 8 。
比較兩個物件是否相等。
比較兩個物件是否不等。
如果左邊大於右邊,返回 true 。
如果左邊大於等於右邊,返回 true 。
如果左邊小於右邊,返回 true 。
如果左邊小於等於右邊,返回 true 。
對於 if 語句,在 for 過濾或 if 表示式中,它可以用於聯合多個表示式:
and如果左運算元和右運算元同為真,返回 true 。
or如果左運算元和右運算元有乙個為真,返回 true 。
not對乙個表示式取反(見下)。
(expr)
表示式組。
提示is 和 in 運算子同樣支援使用中綴記法: foo is not bar 和 foo not in bar 而不是 not foo is bar 和 not foo in bar 。所有的 其它表示式需要字首記法 not (foo and bar) 。
下面的運算子非常有用,但不適用於其它的兩個分類:
in執行序列/對映包含檢查。如果左運算元包含於右運算元,返回 true 。比如 } 會返回 true 。
is執行乙個 測試
。應用乙個 過濾器
。把所有的運算元轉換為字串,並且連線它們。 } 會返回(假設 name 值為 ''john' ) hello john! 。
呼叫乙個可調用量:} 。在圓括號中,你可以像在 python 中一樣使用位置引數和關鍵字引數: } 。
獲取乙個物件的屬性。(見 變數
)同樣,也可以使用內聯的 if 表示式。這在某些情況很有用。例如你可以用來在乙個 變數定義的情況下才繼承乙個模板,否則繼承預設的布局模板:
一般的語法是 if else 。else 部分是可選的。如果沒有顯式地提供 else 塊,會求值乙個未定義物件:
}
Jinja2語法小記
jinja2模板中文文件 表示式 用於裝載字串 變數 函式呼叫等語句 用於裝載控制語句,比如if判斷 for迴圈等注釋 用於裝載乙個注釋,模板渲染的時候會被忽略掉 在模板中,我們可以使用 獲取變數的屬性 user 如果user為傳入模板中的字典變數,則我們可通過 獲取它的鍵值。eg user.use...
Jinja 2模板引擎
flask 提供了jiaja 2模板引擎渲染模板,下面逐步介紹其模板渲染機制。index.html lang en charset utf 8 這是首頁中文字 title 這是首頁中文字 h1 head body html user.html lang en charset utf 8 這是使用者中...
Jinja2基本總結
裝載乙個變數,模板渲染的時候,會使用傳進來的同名引數這個變數代表的值替換掉。裝載乙個控制語句。裝載乙個注釋,模板渲染的時候會忽視這中間的值。1 在模板中新增變數,可以使用 set 語句。之後就可以在頁面檔案中使用name這個變數了。在解釋性語言中,變數的型別時執行時確定的,因此,這裡的變數可以賦任何...