flask裡的請求勾子

2021-08-28 20:44:15 字數 1152 閱讀 4390

在客戶端和伺服器互動的過程中,有些準備工作或掃尾工作需要處理,比如:

為了讓每個檢視函式避免編寫重複功能的**,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...