引數:
# 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 捕獲邏輯的...