pythonflask框架_Flask框架
一、Web前端與后端(PythonWeb)
1.Web前端:網頁,包含HTML,CSS,JS。
靜態網頁:不能與服務器交互的網頁
動態網頁:能夠與服務器交互的網頁
2.Web后端:、Flask,Django、Ajax技術
二、服務器
1.服務器:為用戶提供服務的計算機,將數據抽象成URL,以供用戶訪問。
2.組成:
硬件:主機
軟件:能夠處理用戶請求的程序:Apache、Tomcat、IIS(InternetInformationService)、Nginx
3.作用:
存儲Web相關的數據
處理請求和響應
具備安全性
三、框架
框架:為了解決一些開放性問題,重復性問題而產生的程序結構
框架模式:
MVC
M:模型層Model,與數據庫打交道
V:視圖層View
C:控制層Controller,處理請求與響應
MTV(Flask)
M:模型層Model
T:Template模板(HTML模板),
V:View視圖層,處理請求與響應
四、Flask使用
1.Flask是一個基于Python并依賴于Jinja2模板引擎和WerkZeugWSGI服務的框架。
WSGI:WebServerGatewayInterface.Web服務網關接口,提供處理網絡請求相關的功能
路由:為了匹配用戶的請求地址,會自動執行視圖函數,視圖函數中必須有返回值,返回字符串顯示到相應的頁面中。
1、定義路由及視圖函數
@app.route('/地址')
deffuncName():
return""#響應到頁面中的內容
#視圖函數
@app.route("/")
defindex():#匹配到路徑后執行的視圖函數
return"
歡迎
"2、定義帶參數的路由
變量:
@app.route("/login//")
deflogin(name,age):
return"%s,%s"%(name,age)
注意:路徑中的參數變量永遠是字符串類型
@app.route('/login//')
deflogin(name,age):
return"
歡迎登錄,%s,%s
"%(name,age)3、類型轉換器
缺省字符串,不能包含'/'
int:轉換整數
float:轉換小數
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、多個URL執行同一個視圖函數
@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()設置host="0.0.0.0";不影響當前虛擬IP(127.0.0.1);可以讓當前局域網中其他的計算機,通過內網IP訪問服務器
模板
模板是一種特殊的HTML文件,Python+html網頁結構,允許在HTML文件中定義變量,定義流程控制。使用模板可以使視圖函數專注于處理業務邏輯,將頁面渲染交由模板控制。
2.使用
導入render_template
在視圖函數中使用render_template("模板文件"),生成模板字符串,交由瀏覽器解析
所有的模板文件必須存在名為"templates"的文件下
變量代碼塊
1)模板中使用變量,語法{{變量名(key)}}
2)從視圖函數中獲取相關的變量,傳遞到模板文件中。
returnrender_template("模板文件",key1=value1,key2=value2)
函數中可以傳遞若干鍵值對,其中的key名就是在模板文件中使用的變量名
視圖函數中定義變量name=""、age=、dic=、tub、list將數據傳遞到模板文件中顯示
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]}}}
總結
以上是生活随笔為你收集整理的pythonflask框架_Flask框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络编程与分层协议设计:基于linux平
- 下一篇: 神经网络如何调参、超参数的最优化方法、p