掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流

堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專(zhuān)業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都玻璃鋼雕塑小微創(chuàng)業(yè)公司專(zhuān)業(yè)提供成都企業(yè)網(wǎng)站建設(shè)營(yíng)銷(xiāo)網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺(jué)設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開(kāi)發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
Flask鉤子函數(shù)
在Flask中鉤子函數(shù)是使用特定的裝飾器的函數(shù)。為什么叫做鉤子函數(shù)呢,是因?yàn)殂^子函數(shù)可以在正常執(zhí)行的代碼中,插入一段自己想要執(zhí)行的代碼,那么這種函數(shù)就叫做鉤子函數(shù)。
before_first_request:Flask項(xiàng)目第一次部署后會(huì)執(zhí)行的鉤子函數(shù)。
before_request:請(qǐng)求已經(jīng)到達(dá)了Flask,但是還沒(méi)有進(jìn)入到具體的視圖函數(shù)之前調(diào)用。一般這個(gè)就是在函數(shù)之前,我們可以把一些后面需要用到的數(shù)據(jù)先處理好,方便視圖函數(shù)使用。
before_request
@app.before_first_request
def first_request():
print('只有在處理第一次請(qǐng)求之前執(zhí)行')
@app.before_request
def before_request():
print('在視圖函數(shù)執(zhí)行之前執(zhí)行')
context_rocessor
只用這個(gè)鉤子函數(shù),必須返回一個(gè)字典。這個(gè)字典的值在所有模板中都可以使用。這個(gè)鉤子函數(shù)的作用是,如果一些在很多模板中都要用到的變量,那么就可以使用這個(gè)鉤子函數(shù)來(lái)返回,而不是在每個(gè)視圖函數(shù)匯總的render_template中去寫(xiě),這樣可以讓代碼更加簡(jiǎn)潔和好維護(hù)。
相關(guān)推薦:《Python視頻教程》
@app.context_processor
def context_rocessor():
return {{'current_user':'xxx'}}
errorhandler
在發(fā)生異常的時(shí)候,比如404,500錯(cuò)誤,自定義錯(cuò)誤的頁(yè)面,在errorhangdler裝飾的鉤子函數(shù)下:
要返回狀態(tài)碼
必須寫(xiě)一個(gè)參數(shù),來(lái)接受錯(cuò)誤的信息
使用flask.abort可以手動(dòng)的拋出相應(yīng)的錯(cuò)誤,比如開(kāi)發(fā)者發(fā)現(xiàn)參數(shù)不正確的時(shí)候可以手動(dòng)的拋出一個(gè)404錯(cuò)誤。
@app.errorhandler(500)
def server_error(error):
return render_template('500.html'),500
@app.errorhandler(404)
def page_not_found(error):
return render_template('404.html'),404 
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流