jinja2模板用法詳解

2021-08-28 23:37:25 字數 2228 閱讀 4192

用法:render_template(⽂件名,key=value)

模板檔案一般預設路徑為/templates下的檔案,可通過key=value的方式往模板檔案中傳遞引數,模板中使用}的方式獲取引數。

例:def index():

........

return render_template("index.html")

獲取變數:}

if條件語句:語句語句

for迴圈:語句

for迴圈中特殊變數

變數描述

loop.index

當前迴圈迭代的次數(從 1 開始)

loop.index0

當前迴圈迭代的次數(從 0 開始)

loop.revindex

到迴圈結束需要迭代的次數(從 1 開始)

loop.revindex0

到迴圈結束需要迭代的次數(從 0 開始)

loop.first

如果是第一次迭代,為 true 。

loop.last

如果是最後一次迭代,為 true 。

loop.length

序列中的專案數。

loop.cycle

在一串串行間期取值的輔助函式。見下面示例程式。

1.系統自帶過濾器:

字串過濾器:

使用格式:}

過濾器描述

safe

禁用轉義

capitalize

首字母大寫,其餘小寫

lower

轉換為小寫

upper

轉換為大寫

title

每個單詞首字母大寫,其餘小寫

reverse

字串反轉

format

格式化輸出

striptags

把html標籤刪掉

列表過濾器:

使用格式:}

過濾器描述

first

取第乙個元素

last

取最後乙個元素

length

獲取列表長度

sum列表求和

sort

列表排序

語句塊操作:

#一大堆文字#

鏈式呼叫:

}
2.自定義過濾器:

直接新增到過濾器列表:

def do_listreverse(li):

# 通過原列表建立乙個新列表

temp_li = list(li)

# 將新列表進行返轉

temp_li.reverse()

return temp_li

使用裝飾器新增:

def do_listreverse(li):

# 通過原列表建立乙個新列表

temp_li = list(li)

# 將新列表進行返轉

temp_li.reverse()

return temp_li

1.巨集(macro):

(1)定義格式:

(2)使用格式:

當前檔案:使⽤當前⽂件巨集: }

其他檔案: }

2.繼承(extends):

(1)特點: 共性抽取, **復⽤

(2)格式:

(3)注意點:

父類:父類與子類可能不同的地方用block**塊寫,方便子類重寫

子類:可根據需求重寫父類block**塊,可使用}呼叫父類block內容

3.包含(include):

(1)特點:將⼀個⽂件的內容,完全拷⻉到另外⼀個⽂件中,不夠靈活

(2)格式: ,ignore missing可不寫,但是找不到目標檔案會報錯

1.特點: 不需要重flask程式⾥⾯,傳遞到模板就可以直接使⽤的

2.特殊變數及函式:

特殊變數/函式

描述config

request

請求物件

g應⽤上下⽂物件

url_for()

通過函式名,解析到所對應的路徑

get_flashed_messages()

消耗, flash()⽅法⾥⾯儲存的資訊

flash儲存資料的時候,⽤到了session所以需要設定secret_key

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模板引擎

檢視函式的主要作用是生成請求的響應,這是最簡單的請求。實際上,檢視函式有兩個作用 處理業務邏輯和返回響應內容。在大型應用中,把業務邏輯和表現內容放在一起,會增加 的複雜度和維護成本。本節學到的模板,它的作用即是承擔檢視函式的另乙個作用,即返回響應內容。使用模板的好處 兩個概念 渲染模版函式 使用 變...

Jinja 2 模板引擎 2

說明 巨集和python中的函式類似,可以傳遞引數。但是不能有返回值,可以把經常用到的 片段放在巨集中,然後把一些不固定的值抽出來作為乙個變數。巨集的定義 巨集的呼叫 示列 1.建立乙個index 1。html檔案 使用者名稱 密碼 登入 2。建立乙個 py檔案 from flask import ...