pythonflask框架_Flask框架
一、Web前端與后端(PythonWeb)
1.Web前端:網(wǎng)頁,包含HTML,CSS,JS。
靜態(tài)網(wǎng)頁:不能與服務(wù)器交互的網(wǎng)頁
動(dòng)態(tài)網(wǎng)頁:能夠與服務(wù)器交互的網(wǎng)頁
2.Web后端:、Flask,Django、Ajax技術(shù)
二、服務(wù)器
1.服務(wù)器:為用戶提供服務(wù)的計(jì)算機(jī),將數(shù)據(jù)抽象成URL,以供用戶訪問。
2.組成:
硬件:主機(jī)
軟件:能夠處理用戶請(qǐng)求的程序:Apache、Tomcat、IIS(InternetInformationService)、Nginx
3.作用:
存儲(chǔ)Web相關(guān)的數(shù)據(jù)
處理請(qǐng)求和響應(yīng)
具備安全性
三、框架
框架:為了解決一些開放性問題,重復(fù)性問題而產(chǎn)生的程序結(jié)構(gòu)
框架模式:
MVC
M:模型層Model,與數(shù)據(jù)庫打交道
V:視圖層View
C:控制層Controller,處理請(qǐng)求與響應(yīng)
MTV(Flask)
M:模型層Model
T:Template模板(HTML模板),
V:View視圖層,處理請(qǐng)求與響應(yīng)
四、Flask使用
1.Flask是一個(gè)基于Python并依賴于Jinja2模板引擎和WerkZeugWSGI服務(wù)的框架。
WSGI:WebServerGatewayInterface.Web服務(wù)網(wǎng)關(guān)接口,提供處理網(wǎng)絡(luò)請(qǐng)求相關(guān)的功能
路由:為了匹配用戶的請(qǐng)求地址,會(huì)自動(dòng)執(zhí)行視圖函數(shù),視圖函數(shù)中必須有返回值,返回字符串顯示到相應(yīng)的頁面中。
1、定義路由及視圖函數(shù)
@app.route('/地址')
deffuncName():
return""#響應(yīng)到頁面中的內(nèi)容
#視圖函數(shù)
@app.route("/")
defindex():#匹配到路徑后執(zhí)行的視圖函數(shù)
return"
歡迎
"2、定義帶參數(shù)的路由
變量:
@app.route("/login//")
deflogin(name,age):
return"%s,%s"%(name,age)
注意:路徑中的參數(shù)變量永遠(yuǎn)是字符串類型
@app.route('/login//')
deflogin(name,age):
return"
歡迎登錄,%s,%s
"%(name,age)3、類型轉(zhuǎn)換器
缺省字符串,不能包含'/'
int:轉(zhuǎn)換整數(shù)
float:轉(zhuǎn)換小數(shù)
path:字符串,允許包含'/'
使用:
@app.route('/show/')
@app.route('/calcute//')
defcalcute(n1,n2):
#n1=int(n1)
#n2=int(n2)
n3=n1+n2
return"%d+%d=%d"%(n1,n2,n3)
4、多個(gè)URL執(zhí)行同一個(gè)視圖函數(shù)
@app.route('/')
@app.route('/index')
defindex():
return"首頁"
@app.route('/show')
@app.route('/show/list')
@app.route('/show/')
defshow(name="ze"):
return"show%s"%name
注意:
如果在app.run()設(shè)置host="0.0.0.0";不影響當(dāng)前虛擬IP(127.0.0.1);可以讓當(dāng)前局域網(wǎng)中其他的計(jì)算機(jī),通過內(nèi)網(wǎng)IP訪問服務(wù)器
模板
模板是一種特殊的HTML文件,Python+html網(wǎng)頁結(jié)構(gòu),允許在HTML文件中定義變量,定義流程控制。使用模板可以使視圖函數(shù)專注于處理業(yè)務(wù)邏輯,將頁面渲染交由模板控制。
2.使用
導(dǎo)入render_template
在視圖函數(shù)中使用render_template("模板文件"),生成模板字符串,交由瀏覽器解析
所有的模板文件必須存在名為"templates"的文件下
變量代碼塊
1)模板中使用變量,語法{{變量名(key)}}
2)從視圖函數(shù)中獲取相關(guān)的變量,傳遞到模板文件中。
returnrender_template("模板文件",key1=value1,key2=value2)
函數(shù)中可以傳遞若干鍵值對(duì),其中的key名就是在模板文件中使用的變量名
視圖函數(shù)中定義變量name=""、age=、dic=、tub、list將數(shù)據(jù)傳遞到模板文件中顯示
defshow():
name="xb"
returnrender_remplate("",uname=name)
模板文件中使用{{uname}}
#模板
@app.route('/info')
definfo():
#返回模板文件,可以傳遞變量
#render_template("")返回模板字符串
print("%s",render_template("01-show.html"))
#returnrender_template("000.html")
#returnrender_template("001.html",uname=name,list=list)
returnrender_template("01-show.html",name="flask",age=20)
01-show.html
Title模板
{{uname,list[0]}}}
總結(jié)
以上是生活随笔為你收集整理的pythonflask框架_Flask框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络编程与分层协议设计:基于linux平
- 下一篇: oc引导win方法_[OC更新]机械革命