Flask中特殊裝飾器的使用
(1)@app.before_request
請求到達(dá)視圖函數(shù)之前,進(jìn)行自定義操作,類似django中間件中的process_request,在app中使用則為全局,在藍(lán)圖中使用則針對當(dāng)前藍(lán)圖
注意正常狀態(tài)下return值必須為None
(2)@app.after_request
響應(yīng)返回到達(dá)客戶端之前,進(jìn)行自定義操作,類似jango中間件中的process_response,在app中使用則為全局,在藍(lán)圖中使用則針對當(dāng)前藍(lán)圖
注意正常狀態(tài)下視圖函數(shù)必須定義一個(gè)形參接收response對象,并通過return response返回
(3)@app.errorhandler()
錯(cuò)誤狀態(tài)碼捕獲執(zhí)行函數(shù),裝飾器參數(shù)務(wù)必是4xx或者5xx的int型錯(cuò)誤狀態(tài)碼
(4) @app.template_global() :定義裝飾全局模板可用的函數(shù),直接可在模板中進(jìn)行渲染使用
@app.template_filter(): 定義裝飾全局模板可用的過濾器函數(shù),類似django中的自定義過濾器,直接可在模板中使用
這兩個(gè)特殊裝飾器主要用在模板渲染!??!
import apps from flask import request, session, redirect app = apps.create_app() @app.before_request def before1(): print("before1", request) @app.before_request def before2(): print("before2") if request.path == "/": return None else: #這里拋出了一個(gè)異常,會被@app.errorhandler(Exception) # 捕獲到。 raise Exception("hahaha") @app.before_request def before3(): print("before3") @app.after_request def after1(res): print("after1") return res @app.after_request def after2(res): print("after2") return res @app.after_request def after3(res): print("after3") return res # 處理異常,接受參數(shù),可以重定向到指定頁面 @app.errorhandler(Exception) def error(e): print("error") return redirect("/") @app.route("/login") def login(): print("login") return "login" @app.route('/') def hello_world(): # put application's code here return 'Hello World!' if __name__ == '__main__': app.run()
到此這篇關(guān)于Flask中特殊裝飾器的使用的文章就介紹到這了,更多相關(guān)Flask 特殊裝飾器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
numpy中數(shù)組拼接、數(shù)組合并方法總結(jié)(append(),?concatenate,?hstack,?vstack
numpy庫是一個(gè)高效處理多維數(shù)組的工具,可以在進(jìn)行邊寫的數(shù)組計(jì)算上進(jìn)行一系列的操作,下面這篇文章主要給大家介紹了關(guān)于numpy中數(shù)組拼接、數(shù)組合并方法(append(),?concatenate,?hstack,?vstack,?column_stack,?row_stack,?np.r_,?np.c_等)的相關(guān)資料,需要的朋友可以參考下2022-08-08python實(shí)現(xiàn)數(shù)據(jù)可視化超詳細(xì)講解
Python的數(shù)據(jù)可視化是將數(shù)據(jù)以圖形或圖表的形式呈現(xiàn),使復(fù)雜的信息更易于理解和分析,本文給大家詳細(xì)介紹了python數(shù)據(jù)可視化的實(shí)現(xiàn),文中通過圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06python實(shí)現(xiàn)數(shù)據(jù)庫跨服務(wù)器遷移
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)數(shù)據(jù)庫之間的數(shù)據(jù)遷移,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04