避免大量重複引數的訪問導致檢視函式**重複、亂的問題,
flask使用上下文是一些變數再乙個執行緒中全域性可訪問,不會干擾其他執行緒。
變數名上下文
說明程式上下文
當前啟用程式的程式例項
g程式上下文
處理請求時用於臨時儲存的物件,每次請求會重設g
request
請求上下文
請求物件,封裝了http請求的內容
session
請求上下文
使用者會話,儲存請求之間需要記住的值的詞典
flask在分發請求之前會啟用程式、請求上下文,請求處理完後再刪除。上下文被推送後才可以使用變數。
例子,出現錯誤
'hello'
避免**的重複,可以使用請求鉤子
請求鉤子函式與檢視函式之間一般用g變數共享資料,例如,驗證登入使用者後把使用者儲存在g.user中,檢視函式在通過g變數獲取user資訊
defindex
():return
'', 400
檢視函式return的值就是響應,另外還可以新增乙個狀態碼返回,不設定預設為200,還可以有第三個引數,(header)組成的字典,一般可以忽略
from flask import make_response
defindex
(): response=make_response('good')
response.set_cookie('huu','666')
return response
make_responses也可以接受三個引數(檢視函式返回值一樣),這樣可以在響應上呼叫方法進行進一步的設定。
from flask import redirect
defindex
():return redirect('www.baidu.com')
方便的重定向的響應
from flask import abort
defget_user
(id):
user=load_user(id)
ifnot user:
#如果使用者id不存在就返回狀態碼404
abort(404)
return
'hello,%s!'%user.name
abort可以生成一種特殊的響應用於處理錯誤,abort不會吧控制權交還給呼叫它的檢視函式,而是丟擲異常把控制權交給web伺服器 Flask 請求 響應
map get,head,options index static get,head,options static user get,head,options user url 對映中head options get是請求方法,由路由進行處理。flask為每個路由都指定了請求方法,這樣不同的請求方法...
Flask框架 03 請求與響應
服務端在接收到客戶端的請求後,會自動建立request物件 由flask框架建立,requesy物件不可修改 屬性 base url 去掉get引數的url host url 只有主機和埠號的url path 路由中的路徑 method 請求方法 args get請求引數 form post請求引數...
Flask請求物件 響應物件
form 乙個字典,儲存了請求提交的所有表單字段 args 乙個字典,儲存了url查詢字串傳遞的所有引數 values 乙個字典,form和args集合 cookies 字典,儲存了所有cookie headers 字典,儲存了請求http頭部 files 字典,儲存所有上傳的檔案 get data...