今天來學(xué)習(xí)一下Flask中網(wǎng)頁模板以及網(wǎng)頁模板參數(shù)的使用。
九臺(tái)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),九臺(tái)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為九臺(tái)1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的九臺(tái)做網(wǎng)站的公司定做!
如果你是使用Pycharm pro版的話,創(chuàng)建項(xiàng)目的時(shí)候,選擇Flask項(xiàng)目,所有的基礎(chǔ)文件和文件夾Pycharm會(huì)自動(dòng)幫你創(chuàng)建出來,在網(wǎng)上找了張圖,僅供參考:
選擇項(xiàng)目類型:Flask,這里注意你的Python版本
創(chuàng)建好之后就是下面的樣子:
由于我用的是Pycharm community版本,沒有項(xiàng)目類型可選,但是自己補(bǔ)一下兩個(gè)文件夾就行,一個(gè)是static,一個(gè)是templates。
簡單說明一下,static是存放image, css等項(xiàng)目文件的。templates是存放頁面模板等項(xiàng)目文件的。
下面就模擬一個(gè)需求,用戶已經(jīng)登錄了,要在首頁顯示用戶的用戶名信息,再隨便寫一句歡迎的話。這里我們就要引入一個(gè)新的類:render_template,模板渲染。為什么這么叫?因?yàn)榫褪侵苯臃g過來的,它的功能就是來渲染模板的,至于渲染這個(gè)詞,是繪圖術(shù)語,渲染在電腦繪圖中是指用軟件從模型生成圖像的過程。從這個(gè)定義來理解的話,就是美化,填充模型,讓模型更好看吧。就這么理解吧!
.py完整代碼如下:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
return render_template('index.html', username='uncleBen')
if __name__ == '__main__':
app.run(debug=True)
需要注意的是:
首先,導(dǎo)入Flask和render_template
其次,在使用的時(shí)候,一般就是return的內(nèi)容做渲染,那就是return render_template(),這個(gè)render_template()函數(shù)里需要傳一個(gè)最基本的參數(shù)就是你要渲染哪個(gè)頁面,告訴它html文件名就行,因?yàn)樗J(rèn)就會(huì)去templates這個(gè)文件下找你提供的html文件名,所以你的html文件不要亂放,否則它會(huì)找不到的。另外一個(gè)參數(shù)就是你要在前端頁面中顯示什么?今天這個(gè)例子是要顯示用戶名,拿就傳一個(gè)username參數(shù)進(jìn)去。如有其它參數(shù),也可以加,然后賦值。
好了,py文件內(nèi)容寫好了,那么html里的代碼應(yīng)該這么寫呢?這么才能拿到參數(shù)的值呢?來看一下html的代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
歡迎<b>{{ username }}</b>來到您的個(gè)人主頁,這個(gè)頁面是templates文件夾中的index.html模板。
</body>
</html>
很簡單,唯一跟普通HTML文件的區(qū)別就是多了一個(gè){{ username }},重點(diǎn)來了,在Flask項(xiàng)目的HTML中如下想引用參數(shù)(py文件中定義的),必須要用雙花括號(hào){{ }}括起來,就好了。so easy啊!
來看一下效果,上面Py代碼里我傳的username='uncleBen',效果如下:
然后我們?cè)贀Q一個(gè)用戶名,讓username='張無忌'
如果有多個(gè)參數(shù)呢?那剛開始你肯定要這么寫了:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
return render_template('index.html', username='張無忌', reg_days=15, location='光明頂')
if __name__ == '__main__':
app.run(debug=True)
運(yùn)行一下,看看結(jié)果:
但是如果還有更多參數(shù)呢???比如10個(gè),20個(gè),要寫這么多嗎?這樣會(huì)讓人看到很不爽和很不專業(yè)的感覺。
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
context = {
'username': '張無忌',
'reg_days': 100,
'location': '光明頂'
}
return render_template('index.html', **context)
if __name__ == '__main__':
app.run(debug=True)
為了區(qū)別,我把注冊(cè)時(shí)間改成了100,來,運(yùn)行一下,看一下效果:
小結(jié)
當(dāng)前標(biāo)題:Flask_學(xué)習(xí)筆記_05:Flask中的網(wǎng)頁模板
本文鏈接:http://www.chinadenli.net/article32/joidsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站收錄、App開發(fā)、網(wǎng)站導(dǎo)航、ChatGPT、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)