Flask基礎入門 二 Jinja過濾器

2021-09-11 06:59:44 字數 1022 閱讀 4985

通過模板建立檢視:

flask中的jinja內建的模板語言,可以自動的生成html,還可以對資料進行某些修改後再將其顯示在頁面上。

jinja的語法

jinja是用python實現的模板語言。模板語言是一種被設計來自動生成文件的簡單文字格式。在模板語言中,一般都會把一些變數傳給模板,替換模板的特定位置上預先定義好的佔位變數名。在jinja中,變數名是由}來表示的。這種}語法叫做變數**塊,還有定義的控制**塊。可以實現一些語言層次的功能,比如迴圈或者if語句。

jinja模板中的變數**塊可以是任意python型別或者物件,只要它能夠被python的str()方法轉換成乙個字串就行。比如,可以通過下面的方式顯示乙個字典或者列表中的某個元素:}}

過濾器

在jinja中可以把變數傳給一些內建的函式來進行某些修改,以滿足顯示的需要,這些函式叫做過濾器(filter),在變數**塊中使用管道操作符 | 可以呼叫它們:

}如果沒有任何引數要傳給過濾器,則可以把括號省略掉:

}過濾器也可以在控制**塊中呼叫,這樣就可以對一整塊文字應用這個過濾器:

文字內容

default

如果傳給它的值是none,則用乙個預設值來替代顯示。

}如果你希望變數在為假值的時候被替換成預設值,則可以把傳給default的第2個引數設為true:

}escape

如果傳遞的變數是html字串,則其中的&、<、>、』和」將被作為html轉義序列列印:}

float

可使用python的float()方法將傳入值轉換為浮點數顯示:

}75.0

int可使用python的int()方法將傳入的值轉換為整數顯示:}75

join

這個過濾器將列表拼成乙個字串,與list的同名方法的作用完全一樣。

}python,pymysql

safe

如果想直接把html作為變數插入頁面,在想顯示一篇部落格文章的時候,jinja會自動嘗試對輸出進行html轉義。

Flask框架(二)模板引擎JinJa2

三.巨集操作 jinja2 是乙個現代的,設計者友好的,仿照 django 模板的 python 模板語言。它速度快,被廣泛使用,並且提供了可選的沙箱模板執行環境保證安全 hello lower safe 渲染值時不轉義 capitalize 把值的首字母轉換成大寫,其他字母轉換成小寫 lower ...

flask之二 jinja2知識彙總

1.jinja2模板 1.1 控制 塊 jinja2主要負責渲染網頁。其主要分為變數 塊 和控制 塊。變數 塊主要用於變數的內容顯示,控制 塊可以控制顯示的內容。控制 塊的語句主要有 if else,for 兩種。1.2 過濾器 過濾器也是一種控制html顯示的常用方法。常用的過濾器有upper,l...

Flask 學習(二)jinja2模板介紹

舉例 flask python from flask import flask,render template,redirect,request student student list student dict b c detail defdetail print url for detail r...