jinja2 算術 比較 邏輯 其它運算子

2021-10-06 10:36:35 字數 1280 閱讀 2522

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這個變數了。在解釋性語言中,變數的型別時執行時確定的,因此,這裡的變數可以賦任何...