W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Flask 自帶了很順手的 abort() 函數(shù)用于以一個(gè) HTTP 失敗代碼 中斷一個(gè)請(qǐng)求,他也會(huì)提供一個(gè)非常簡(jiǎn)單的錯(cuò)誤頁(yè)面,用于提供一些基礎(chǔ)的描述。 這個(gè)頁(yè)面太樸素了以至于缺乏一點(diǎn)靈氣。
依賴于錯(cuò)誤代碼的不同,用戶看到某個(gè)錯(cuò)誤的可能性大小也不同。
下面列出了一些用戶經(jīng)常遇到的錯(cuò)誤代碼,即使在這個(gè)應(yīng)用準(zhǔn)確無(wú)誤的情況下也可能發(fā)生:
一個(gè)錯(cuò)誤處理器是一個(gè)類似于視圖函數(shù)的函數(shù),但是它在錯(cuò)誤發(fā)生時(shí)被執(zhí)行,并且 錯(cuò)誤被當(dāng)成一個(gè)參數(shù)傳遞進(jìn)來(lái)。一般來(lái)說(shuō)錯(cuò)誤可能是 HTTPException , 但是在有些情況下會(huì)是其他錯(cuò)誤: 內(nèi)部服務(wù)器的錯(cuò)誤的處理器在被執(zhí)行時(shí),將會(huì) 同時(shí)得到被捕捉到的實(shí)際代碼錯(cuò)誤作為參數(shù)。
錯(cuò)誤處理器和要捕捉的錯(cuò)誤代碼使用 errorhandler() 裝飾器注冊(cè)。 請(qǐng)記住 Flask 不會(huì) 替您設(shè)置錯(cuò)誤代碼,所以請(qǐng)確保在返回 response 對(duì)象時(shí),提供了 對(duì)應(yīng)的 HTTP 狀態(tài)代碼。
如下實(shí)現(xiàn)了一個(gè) “404 Page Not Found” 錯(cuò)誤處理的例子:
from flask import render_template
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404
一個(gè)示例模板可能會(huì)如下所示:
{% 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號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: