新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Flask教程:Flask模板
在前面的實例中,視圖函數(shù)的主要作用是生成請求的響應(yīng),這是最簡單的請求。

目前創(chuàng)新互聯(lián)建站已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、梁子湖網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
視圖函數(shù)有兩個作用:
- 處理業(yè)務(wù)邏輯
- 返回響應(yīng)內(nèi)容
在大型應(yīng)用中,把業(yè)務(wù)邏輯和表現(xiàn)內(nèi)容放在一起,會增加代碼的復(fù)雜度和維護成本.
- 模板其實是一個包含響應(yīng)文本的文件,其中用占位符(變量)表示動態(tài)部分,告訴模板引擎其具體的值需要從使用的數(shù)據(jù)中獲取
- 使用真實值替換變量,再返回最終得到的字符串,這個過程稱為'渲染'
- Flask 是使用 Jinja2 這個模板引擎來渲染模板
使用模板的好處
- 視圖函數(shù)只負(fù)責(zé)業(yè)務(wù)邏輯和數(shù)據(jù)處理(業(yè)務(wù)邏輯方面)
- 而模板則取到視圖函數(shù)的數(shù)據(jù)結(jié)果進行展示(視圖展示方面)
- 代碼結(jié)構(gòu)清晰,耦合度低
模板基本使用
在項目下創(chuàng)建 templates 文件夾,用于存放所有模板文件,并在目錄下創(chuàng)建一個模板文件 html 文件 hello.html
Title
我的模板html內(nèi)容
創(chuàng)建視圖函數(shù),將該模板內(nèi)容進行渲染返回
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('hello.html')模板變量
代碼中傳入字符串,列表,字典到模板中
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
# 往模板中傳入的數(shù)據(jù)
my_str = 'Hello Word'
my_int = 10
my_array = [3, 4, 2, 1, 7, 9]
my_dict = {
'name': 'xiaoming',
'age': 18
}
return render_template('hello.html',
my_str=my_str,
my_int=my_int,
my_array=my_array,
my_dict=my_dict
)模板中代碼
Title
我的模板html內(nèi)容
{{ my_str }}
{{ my_int }}
{{ my_array }}
{{ my_dict }}
運行效果
我的模板html內(nèi)容
Hello Word
10
[3, 4, 2, 1, 7, 9]
{'name': 'xiaoming', 'age': 18}示例代碼:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
my_int = 18
my_str = 'curry'
my_list = [1, 5, 4, 3, 2]
my_dict = {
'name': 'durant',
'age': 28
}
# render_template方法:渲染模板
# 參數(shù)1: 模板名稱 參數(shù)n: 傳到模板里的數(shù)據(jù)
return render_template('hello.html',
my_int=my_int,
my_str=my_str,
my_list=my_list,
my_dict=my_dict)
if __name__ == '__main__':
app.run(debug=True)
Title
我是模板
{{ my_int }}
{{ my_str }}
{{ my_list }}
{{ my_dict }}
模板的list數(shù)據(jù)獲取
{{ my_list[0] }}
{{ my_list.1 }}
字典數(shù)據(jù)獲取
{{ my_dict['name'] }}
{{ my_dict.age }}
算術(shù)運算
{{ my_list.0 + 10 }}
{{ my_list[0] + my_list.1 }}
網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)Flask教程:Flask模板
URL標(biāo)題:http://fisionsoft.com.cn/article/cdecgss.html


咨詢
建站咨詢
