W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
Flask 自帶了很順手的 abort() 函數用于以一個 HTTP 失敗代碼 中斷一個請求,他也會提供一個非常簡單的錯誤頁面,用于提供一些基礎的描述。 這個頁面太樸素了以至于缺乏一點靈氣。
依賴于錯誤代碼的不同,用戶看到某個錯誤的可能性大小也不同。
下面列出了一些用戶經常遇到的錯誤代碼,即使在這個應用準確無誤的情況下也可能發(fā)生:
一個錯誤處理器是一個類似于視圖函數的函數,但是它在錯誤發(fā)生時被執(zhí)行,并且 錯誤被當成一個參數傳遞進來。一般來說錯誤可能是 HTTPException , 但是在有些情況下會是其他錯誤: 內部服務器的錯誤的處理器在被執(zhí)行時,將會 同時得到被捕捉到的實際代碼錯誤作為參數。
錯誤處理器和要捕捉的錯誤代碼使用 errorhandler() 裝飾器注冊。 請記住 Flask 不會 替您設置錯誤代碼,所以請確保在返回 response 對象時,提供了 對應的 HTTP 狀態(tài)代碼。
如下實現了一個 “404 Page Not Found” 錯誤處理的例子:
from flask import render_template
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404
一個示例模板可能會如下所示:
{% extends "layout.html" %}
{% block title %}Page Not Found{% endblock %}
{% block body %}
<h1>Page Not Found</h1>
<p>What you were looking for is just not there.
<p><a href="{{ url_for('index') }}">go somewhere nice</a>
{% endblock %}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: