flask的模板渲染

2022-03-18 19:43:38 字數 3602 閱讀 5657

目錄markup轉換變數中的特殊字元

safe將html生成安全的文字

jinja2中模板語法之for迴圈

jinja2模板語法之if語句

在檢視函式中

在模板中

例項1(第一種傳參方式):

目錄結構

│ server.py

│└─templates # 資料夾

index.html

server.py

def index():

return render_template('index.html',name="mark",age=18)

index.html

} }

例項2(第二種傳參方式):

目錄結構:同上

server.py

def demo1():

context_dict =

return render_template('index.html',context_dict = context_dict)

index.html

} }

}

例項3(第三種傳參方式):

目錄結構:同上

server.py

def demo2():

context_dict = }

return render_template('index.html',**context_dict)

index.html

} }}}

}

在模板中如果有使用url的需求,我們可以直接手寫乙個url,也可以使用動態翻轉乙個url。

例項:專案目錄:

│ server.py

│└─templates # 資料夾

index.html

info.html

server.py

def index():

return render_template('index.html', name="mark", age=18)

def info():

return render_template('info.html')

info.html

index.html

正常跳轉

urlfor跳轉

在模板渲染中,使用markup轉換變數中的特殊字元,markup對字串進行轉譯處理再傳遞給render_template()函式

markup是在後台處理資料

from flask import flask, render_template, markup  

def func1(arg, tank):

# 在模板渲染中,使用markup轉換變數中的特殊字元,markup對字串進行轉譯處理再傳遞給render_template()函式

# 前台可使用}進行傳參

return markup(f"")

def index():

return render_template("index.html", ht1=func1)

if __name__ == '__main__':

}

safe是在前台處理資料

from flask import flask, render_template, markup  

def index():

# 前台想要解析ht標籤,需要使用模板語法的safe,例如:}

return render_template("index.html", ht="")

if __name__ == '__main__':

}

for迴圈可以便利任何乙個可迭代物件,包括列表、字典等,支援反向遍歷

反向遍歷例項

server.py改為

for迴圈常用變數表

for迴圈常用變數

功能描述

loop.index

當前迴圈的索引(從1開始)

loop.index0

當前迴圈的索引(從0開始)

loop.first

是否是第一次迴圈,是返回true,否則返回flase

loop.last

是否是最後一次迴圈,是返回true,否則返回flase

loop.length

總共可以迴圈的次數 / 迭代器的長度

for迴圈中的else用法

for還可以else分支語法,如果for內部沒有遍歷出來內容,那麼就會走else分支,反之如果for迴圈遍歷出了內容,則不會執行else分支。

注意:jinja2中的forelse邏輯不通於python在此不要模擬python中的forelse

}沒有值

示例**:

from flask import flask, render_template, markup  

users = ,

2: ,

3: ,}

def index():

return render_template("index.html", user=users)

if __name__ == '__main__':

}}}}}

示例**:

from flask import flask, render_template, markup  

def index():

return render_template("index.html", name="jason")

if __name__ == '__main__':

} 

Flask模板渲染

目錄模板變數 巨集,類似python 中的函式 模板繼承 包含 include 過濾器檢視函式的主要作用是生成請求的響應,這是最簡單請求.實際上,檢視函式有兩個作用 在大型應用中,把業務邏輯和表現內容放在一起,會增加 的複雜度和維護成本.使用模板的好處 兩個概念 渲染模板函式條件控制語句 jinja...

flask使用渲染模板

使用渲染模板的好處是 將業務邏輯 訪問資料庫.和表現邏輯 瀏覽器看到的html 分離開來,易於維護。預設情況下 flask在程式檔案加中的templates子資料夾中尋找模板。mkdir jinja2template cd jinja2template mkdir templates cd temp...

flask模板渲染,重定向

檢視,具體請看注釋 學過django後再學這個感覺要飛起來了 渲染模板引擎 重定向 請求物件 反向解析重定向 from flask import flask,render template,redirect,request,url for import settings 匯入配置 載入配置 檢視函式...