今天要來介紹如何客製化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
頁面變成我們想要的樣子囉! 當然也可以搭配使用CSS
或JavaScript
等,讓404
頁面看起來不那麼單調。
明天開始會進入
Django QuerySet
的補充篇。