網頁中輸入了非預期的 URL,或是做出非預期的動作時,會返回一個HTTP狀態碼。errorhandler
可以讓我們定義如果出現了某些行為,就自動地提出錯誤並處裡。
ithome
├── templates
│ ├── index.html
│ └── page_not_found.html # 新增它
├── app.py
├── configs.py
├── Pipfile
└── Pipfile.lock
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>index</title>
</head>
<body>
<h1>Hello world</h1>
</body>
</html>
page_not_found.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>index</title>
</head>
<body>
<p>{{ error }}</p>
<a href={{ url_for('index') }}><button>Index</button></a>
</body>
</html>
app.py
import configs as CONFIGS
from flask import Flask, render_template
app = Flask(__name__)
app.config.from_object(CONFIGS)
@app.route("/")
def index():
return render_template('index.html')
@app.errorhandler(404)
def page_not_found(error):
return render_template('page_not_found.html', error=error)
if __name__ == "__main__":
app.run()
執行結果
按下index
後