flask基礎五之異常捕獲和請求勾子

2021-08-21 10:13:10 字數 1490 閱讀 5533

引數:

# abort(404)

abort(500)

丟擲狀態碼的話,只能丟擲 http 協議的錯誤狀態碼

引數:

definternal_server_error

(e):

return

'伺服器搬家了'

defzero_division_error

(e):

return

'除數不能為0'

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

為了讓每個檢視函式避免編寫重複功能的**,flask提供了通用設施的功能,即請求鉤子。

請求鉤子是通過裝飾器的形式實現,flask支援如下四種請求鉤子:

before_request

after_request

teardown_request:

from flask import flask

from flask import abort

# 在第一次請求之前呼叫,可以在此方法內部做一些初始化操作

defbefore_first_request

(): print("before_first_request")

# 在每一次請求之前呼叫,這時候已經有請求了,可能在這個方法裡面做請求的校驗

# 如果請求的校驗不成功,可以直接在此方法中進行響應,直接return之後那麼就不會執行檢視函式

defbefore_request

(): print("before_request")

# if 請求不符合條件:

# return "laowang"

# 在執行完檢視函式之後會呼叫,並且會把檢視函式所生成的響應傳入,可以在此方法中對響應做最後一步統一的處理

defafter_request

(response):

print("after_request")

return response

# 請每一次請求之後都會呼叫,會接受乙個引數,引數是伺服器出現的錯誤資訊

defteardown_request

(e):

print("teardown_request")

defindex

():return

'index'

if __name__ == '__main__':

before_first_request

before_request

after_request

teardown_request

before_request

after_request

teardown_request

Flask05 請求鉤子和異常捕獲

異常捕獲 我們在寫專案的時候往往會有一些全域性性的需求,比如在應用啟動之初初始化一些資料,建立資料庫鏈結等。對發起的所有請求記錄一些資料,對某些請求進行一些攔截。在請求結束的時候自定義響應資料等。針對這些全域性性的需求,flask框架提供了請求鉤子,所謂請求鉤子就是可以掛在請求和響應的不同階段,進行...

Flask之基礎 g物件和訊號

flask是python一款小二精的輕量級web框架,預設依賴於jinja2模版引擎和wsgi工具集 werkzeug。雖然flask只保留了web開發的核心功能,沒有django的功能全,但是,它可以用第三方外掛程式進行功能擴充套件,比如資料庫可以使用flask sqlalchemy,快取可以使用...

python基礎之錯誤和異常處理

import exception exce 在捕獲錯誤異常的時候 是要根據具體的錯誤型別來捕獲的 用乙個塊 可以捕獲多個不同型別的異常 exception 可以捕獲所有異常 當對出現的問題或者錯誤不確定的情況下 可以使用此種 print dir exception try print b 捕獲邏輯的...