在客戶端和伺服器互動的過程中,有些準備工作或掃尾工作需要處理,比如:
為了讓每個檢視函式避免編寫重複功能的**,flask提供了通用設施的功能,即請求鉤子。
請求鉤子是通過裝飾器的形式實現,flask支援如下四種請求鉤子:
before_request
after_request
teardown_request:
**測試
from flask import flask
from flask import abort
# 在第一次請求之前呼叫,可以在此方法內部做一些初始化操作
def before_first_request():
print("before_first_request")
# 在每一次請求之前呼叫,這時候已經有請求了,可能在這個方法裡面做請求的校驗
# 如果請求的校驗不成功,可以直接在此方法中進行響應,直接return之後那麼就不會執行檢視函式
def before_request():
print("before_request")
# if 請求不符合條件:
# return "laowang"
# 在執行完檢視函式之後會呼叫,並且會把檢視函式所生成的響應傳入,可以在此方法中對響應做最後一步統一的處理
def after_request(response):
print("after_request")
return response
# 請每一次請求之後都會呼叫,會接受乙個引數,引數是伺服器出現的錯誤資訊
def teardown_request(e):
print("teardown_request")
def index():
return 'index'
if __name__ == '__main__':
before_first_request
before_request
after_request
teardown_request
before_request
after_request
teardown_request
Flask框架中的四種請求勾子
在客戶端和伺服器互動的過程中,有些準備工作或掃尾工作需要處理,比如 在請求開始時,建立資料庫連線 在請求開始時,根據需求進行許可權校驗 在請求結束時,指定資料的互動格式 為了讓每個檢視函式避免編寫重複功能的 flask提供了通用設施的功能,即請求鉤子。請求鉤子是通過裝飾器的形式實現,flask支援如...
flask基礎五之異常捕獲和請求勾子
引數 abort 404 abort 500 丟擲狀態碼的話,只能丟擲 http 協議的錯誤狀態碼 引數 definternal server error e return 伺服器搬家了 defzero division error e return 除數不能為0 在客戶端和伺服器互動的過程中,有些...
Python Flask簡介請求勾子
在客戶端和伺服器互動的過程中,有些準備工作或掃尾工作需要處理,比如 為了讓每個檢視函式避免編寫重複功能的 flask提供了通用設施的功能,即請求鉤子。請求鉤子是通過裝飾器的形式實現,flask支援如下四種請求鉤子 before request after request teardown reque...