創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
今天就跟大家聊聊有關(guān)Flask鉤子函數(shù)的概念,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
Flask鉤子函數(shù)
在Flask中鉤子函數(shù)是使用特定的裝飾器的函數(shù)。為什么叫做鉤子函數(shù)呢,是因為鉤子函數(shù)可以在正常執(zhí)行的代碼中,插入一段自己想要執(zhí)行的代碼,那么這種函數(shù)就叫做鉤子函數(shù)。
before_first_request:Flask項目第一次部署后會執(zhí)行的鉤子函數(shù)。
before_request:請求已經(jīng)到達(dá)了Flask,但是還沒有進(jìn)入到具體的視圖函數(shù)之前調(diào)用。一般這個就是在函數(shù)之前,我們可以把一些后面需要用到的數(shù)據(jù)先處理好,方便視圖函數(shù)使用。
before_request
@app.before_first_request def first_request(): print('只有在處理第一次請求之前執(zhí)行') @app.before_request def before_request(): print('在視圖函數(shù)執(zhí)行之前執(zhí)行')
context_rocessor
只用這個鉤子函數(shù),必須返回一個字典。這個字典的值在所有模板中都可以使用。這個鉤子函數(shù)的作用是,如果一些在很多模板中都要用到的變量,那么就可以使用這個鉤子函數(shù)來返回,而不是在每個視圖函數(shù)匯總的render_template中去寫,這樣可以讓代碼更加簡潔和好維護(hù)。
@app.context_processor def context_rocessor(): return {{'current_user':'xxx'}}
errorhandler
在發(fā)生異常的時候,比如404,500錯誤,自定義錯誤的頁面,在errorhangdler裝飾的鉤子函數(shù)下:
要返回狀態(tài)碼
必須寫一個參數(shù),來接受錯誤的信息
使用flask.abort可以手動的拋出相應(yīng)的錯誤,比如開發(fā)者發(fā)現(xiàn)參數(shù)不正確的時候可以手動的拋出一個404錯誤。
@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
看完上述內(nèi)容,你們對Flask鉤子函數(shù)的概念有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。