Flask + SQLite

Python 建立網站使用心得站

整理用 Python 建網站的經驗、踩坑與實作心得,讓安裝、環境、Flask 與部署實作更容易上手。

閱讀方向

從環境建置開始,逐步整理 Flask、虛擬環境、套件管理與實戰心得。

網站管理員 ・ 2026-04-01 03:35:16 ・ 約 3 分鐘

Flask 網站如何加 404/500 錯誤頁:讓錯誤也有基本體驗

很多人做 Flask 網站時,會把注意力都放在正常流程,例如首頁能不能開、文章能不能新增、後台能不能登入。但真正一個像樣的網站,不只要正常時能運作,出錯時也要有基本體驗。這就是為什麼 404 和 500 錯誤頁很值得早點補上。 先講 404。404 代表使用者打開了一個不存在的網址,例如文章已刪除、路徑打錯、外部連結失效。這種情況在真實網...

很多人做 Flask 網站時,會把注意力都放在正常流程,例如首頁能不能開、文章能不能新增、後台能不能登入。但真正一個像樣的網站,不只要正常時能運作,出錯時也要有基本體驗。這就是為什麼 404 和 500 錯誤頁很值得早點補上。

先講 404。404 代表使用者打開了一個不存在的網址,例如文章已刪除、路徑打錯、外部連結失效。這種情況在真實網站非常常見。如果你的網站只回傳一段冷冰冰的 `Not Found`,技術上雖然沒有錯,但對使用者來說體驗很差,也很浪費這個頁面的導流機會。

比較好的 404 頁面通常至少會做到幾件事:告訴使用者頁面不存在、提供回首頁連結、必要時附上熱門文章或導覽入口。這樣使用者即使走錯路,也比較容易回到正確位置。

再講 500。500 代表伺服器端發生錯誤,像是程式例外、資料庫連線失敗、某段邏輯沒處理好。開發階段 Flask 會把 traceback 顯示得很清楚,這對除錯很方便;但正式環境不能這樣。正式站的 500 頁應該要簡潔、穩定,不暴露內部細節,同時讓使用者知道這是系統端問題,而不是他操作錯了。

在 Flask 裡,做錯誤頁通常是透過 error handler,也就是針對 404、500 註冊對應的處理函式。概念上可以理解成:

404:找不到頁面時要怎麼回應
500:系統發生錯誤時要怎麼回應

如果你有模板系統,通常也會幫這些錯誤頁做成和主站一致的版型。這樣整個網站在出錯時仍然維持同一種風格,而不是突然掉到一個很像系統預設頁的畫面。

對內容站來說,錯誤頁還有一個額外價值,就是它其實也是站內結構的一部分。404 可以引導回文章列表、熱門文章或分類頁;500 則可以保留品牌感與基本信任感。也就是說,錯誤頁不只是技術補丁,也是體驗設計的一部分。

所以如果你現在的 Flask 站已經有首頁、文章頁、後台與 SEO,下一步很值得補的其中一件事,就是 404/500 錯誤頁。因為這代表你的網站不只是「功能有做出來」,而是開始顧到使用者在非理想情況下的感受。

回首頁