本文實例講述了Flask框架請求鉤子與request請求對象。分享給大家供大家參考,具體如下:

在客戶端和服務(wù)器交互的過程中,有些準(zhǔn)備工作或掃尾工作需要處理,比如:
為了讓每個視圖函數(shù)避免編寫重復(fù)功能的代碼,F(xiàn)lask提供了通用設(shè)施的功能,即請求鉤子。
請求鉤子是通過裝飾器的形式實現(xiàn),F(xiàn)lask支持如下四種請求鉤子:
| 請求鉤子 | 描述 |
|---|---|
| before_first_request | 在處理第一個請求前執(zhí)行 |
| before_request | 在處理每一個請求前執(zhí)行 |
| after_request | 如果沒有拋出錯誤,則在每一次請求后執(zhí)行(接受一個參數(shù):視圖函數(shù)做出的響應(yīng)) |
| teardown_request | 在每次請求后執(zhí)行(接受一個參數(shù):用來接受錯誤信息) |
例:
from flask import Flask
app = Flask(__name__)
# 在第一次請求之前調(diào)用,可以在此方法內(nèi)部做一些初始化操作
@app.before_first_request
def before_first_request():
print("before_first_request")
# 在每次請求之前調(diào)用,這時候已經(jīng)有請求了,可能在這個方法里面做請求的校驗
# 如果請求的校驗不成功,可以直接在此方法中進(jìn)行響應(yīng),直接return之后那么就不會執(zhí)行視圖函數(shù)
@app.before_request
def before_request():
print("before_request")
# if 請求不符合條件:
# return "laowang"
# 在執(zhí)行完視圖函數(shù)之后會調(diào)用,并且會把視圖函數(shù)所生成的響應(yīng)傳入,可以在此方法中對響應(yīng)做最后一步統(tǒng)一的處理
@app.after_request
def after_request(response):
print("after_request")
response.headers["Content-Type"] = "application/json"
return response
# 請每一次請求之后都會調(diào)用,會接受一個參數(shù),參數(shù)是服務(wù)器出現(xiàn)的錯誤信息
@app.teardown_request
def teardown_request(e):
print("teardown_request")
@app.route('/')
def index():
return 'index'
if __name__ == '__main__':
app.run(debug=True)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
名稱欄目:Flask框架請求鉤子與request請求對象用法實例分析-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://www.chinadenli.net/article0/dpcsio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、軟件開發(fā)、微信公眾號、移動網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)