Flask框架——上下文
阿新 • • 發佈:2018-11-10
上下文
上下文:相當於一個容器,儲存了Flask程式執行過程中的一些資訊。 Flask有兩種上下文:請求上下文和應用上下文。 ## 請求上下文 在flask中,可以直接在檢視函式中使用request這個物件進行獲取相關資料,而request就是請求上下文的物件,儲存了當前本次請求的相關資料,請求上下文的物件有:request,session。 request:封裝了HTTP請求的內容,針對的是http請求,舉例:user = request.args.get('user'),獲取的是get請求的引數。 session:用來記錄請求會話中的資訊,針對的是使用者資訊。舉例:session['name'] = user.id,可以記錄使用者資訊,還可以通過session.get('name')獲取使用者資訊。 請求上下文:request(記錄客戶端和服務端互動的資料) from flask import Flask,request app = Flask(__name__) # 請求上下文物件:request和session # rquest是Flask內建的請求上下文物件 # request物件常用的屬性:args/form/method/url/headers/cookies # args:查詢字串,url位址列中,?後面,以=號進行傳值,&進行分隔的資料 # request的基本用法:args @app.route('/') def index(): #獲取get請求的查詢字串引數 # 前端的url請求地址:http://www.127.0.0.1/?name = wax # 此時下面的程式碼會在控制檯輸出wax。 name = request.args.get('name') print('name') # 輸出url地址 print(request.url) # 輸出http的請求方法 print(request.method) # 輸出請求頭、 print(request.headers) # 輸出表單引數的請求,表單的儲存是以key/value的形式儲存的。即 'name' = 'wax' name = request.form.get('name') print(name) return 'hello world' # form是指表單引數的請求 @app.route('/form/') def demo_form(): return 'demo_form' if __name__ == '__main__': app.run() 請求上下文:session 應用上下文:flask程式執行過程中的資訊 它的主要作用是幫助request獲取當前的應用,隨request而生,隨rewquest而滅。有的文件會介紹說這是一個全域性變數,但是具體來說是一個執行緒內部的全域性變數。可以用來記錄專案日誌。 g變數: 也是flask程式全域性的一個臨時變數,臨時傳遞一些資料。