iT邦幫忙

2022 iThome 鐵人賽

DAY 26
0
Modern Web

Django 初心者之旅系列 第 26

【Day 26】 Django 客製化 404 頁面

  • 分享至 

  • xImage
  •  

今天要來介紹如何客製化404頁面,會進到404的頁面是因為嘗試訪問不存在的頁面(輸入錯誤的網址)。目前我們在啟動Server後,如果在瀏覽器輸入錯誤的網址,去嘗試訪問不存在的頁面,則會看到像下面這樣用來提示錯誤在哪的Debug頁面而非單純的404頁面。

(輸入錯誤的網址)

那要怎麼在網址錯誤的時候,進到404頁面而不是Debug頁面呢? 上面的圖片其實有答案,因為Django本身有Debug功能,而且預設是開啟的,所以我們才會在出現錯誤的時候看到Debug頁面。

想要關閉Debug功能的話,我們需要到myworld資料夾下面找到名為settings.py的檔案,它掌管網站的所有設定。

找到settings.py後,可以在檔案裡面找到Debug的設定,而且它預設是True,我們只要把它改成False就可以關閉Debug功能。

Debug功能關閉後,我們需要設定允許存取的主機位置(ALLOWED_HOSTS),不然會有錯誤,因為都是在本機上操作Django Project,所以我們先在settings.py裡面,找到ALLOWED_HOSTS這個串列(List),然後把本機位置127.0.0.1放進去。

修改結束後,啟動Server並在瀏覽器輸入錯誤的網址,就會發現真的進到404頁面囉。

最後,要怎麼把404頁面改成我們需要的樣子呢? Django會在輸入錯誤網址後,主動到templates資料夾尋找是否有名為404.html的檔案,如果檔案存在,就會在瀏覽器上看到它,如果檔案不存在,則會看到像上面一樣的預設頁面。

所以在客製化404頁面前,我們需要到templates資料夾下,新增1個名為404.html的檔案。

新增完後,我們只要編輯404.html的檔案,就可以開始各種客製化頁面設定囉! 現在把檔案內容改成下面這樣。

<!DOCTYPE html>
<html>
<title>Wrong address</title>
<body>

<h1>404 Not Found</h1>

<h2>Life is a circle ❤️ Trust the process</h2>

</body>
</html>

可以看到404頁面變成我們想要的樣子囉! 當然也可以搭配使用CSSJavaScript等,讓404頁面看起來不那麼單調。

明天開始會進入Django QuerySet的補充篇。


上一篇
【Day 25】Django Template Tags 補充篇(6) - Filter
下一篇
【Day 27】Django QuerySet 補充篇(1) - Introduction & Get Data
系列文
Django 初心者之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言