iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
Modern Web

flask系列 第 28

Day 28 Flask 錯誤處理

  • 分享至 

  • xImage
  •  

網頁中輸入了非預期的 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


上一篇
Day27 flask 前端
下一篇
Day29 Cookie
系列文
flask30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言