【Flask】增加使用者體驗之 abort和@errorhandler裝飾器,自定義錯誤頁面和資訊
阿新 • • 發佈:2018-11-22
一、abort函式
概念:flask中的異常處理語句,功能類似於python中raise語句,只要觸發abort,後面的程式碼不會執行,abort只能丟擲符合http協議的異常狀態碼(不同於return可以返回自定義狀態碼,這裡不做討論)。
應用場景:一般用來實現自定義的錯誤資訊,讓程式碼的擴充套件性更好,提高使用者體驗。
直接上程式碼:
@app.route('/')
def index():
abort(400)
return 'hello world', 404
在程式碼中,首先abort丟擲了400錯誤,然後我又return了404錯誤,那瀏覽器到底返回多少狀態碼呢?
當然是400,因為只要觸發abort,後面的程式碼就不執行了。
二、errorhandler 裝飾器
errorhandler 裝飾器是配合abort函式使用的,是為了進一步提升使用者體驗,他接收的是abort函式丟擲的異常狀態碼,自定義錯誤頁面和資訊。
from flask import Flask,abort app = Flask(__name__) @app.route('/') def index(): abort(404) return 'hello world' @app.errorhandler(404) def err_handler(e): return '您訪問的頁面走丟了,請訪問***頁面。' if __name__ == '__main__': app.run(debug=True)
如果沒有errorhandler,返回的頁面:
在errorhandler裝飾後,返回的頁面:
對於一個普通使用者而言,當然第二個頁面友好一些。