django的403/404/500錯(cuò)誤自定義頁(yè)面的配置方式
要實(shí)現(xiàn)標(biāo)題的功能,總共分四步:
1.創(chuàng)建html錯(cuò)誤頁(yè)
2.配置settings
3.編寫(xiě)視圖
4.配置url
我的開(kāi)發(fā)環(huán)境:
django1.10.3
python2.7.12
前期工作
創(chuàng)建項(xiàng)目及app
$ django-admin.py startproject Test
...
$ python manage.py startapp myapp
...
1.創(chuàng)建html錯(cuò)誤頁(yè)
在Test目錄下,創(chuàng)建templates文件夾
在文件夾下創(chuàng)建404.html/403.html/500.html文件
2.配置settings
配置tamplates文件路徑、關(guān)閉Debug、配置allowrd_hosts
DEBUG = False # 關(guān)閉Debug
...
TEMPLATES = [
{
...
'DIRS': ['templates/'], # 配置tamplates文件路徑
...
},
]
...
ALLOWED_HOSTS = [
'192.168.1.12', # 配置allowrd_hosts
]
3.編寫(xiě)視圖
在myapp下編寫(xiě)views.py
from django.shortcuts import render def page_not_found(request): return render(request, '404.html') def page_error(request): return render(request, '500.html') def permission_denied(request): return render(request, '403.html')
4.配置url
... from myapp.views import * handler403 = permission_denied handler404 = page_not_found handler500 = page_error ...
ok!運(yùn)行一下,看看結(jié)果!
補(bǔ)充知識(shí):Django 漂亮的出錯(cuò)頁(yè)面

例子展示 Django 的出錯(cuò)頁(yè)面。 我們來(lái)花些時(shí)間看一看這個(gè)出錯(cuò)頁(yè),了解一下其中 給出了哪些信息。
以下是值得注意的一些要點(diǎn):
在頁(yè)面頂部,你可以得到關(guān)鍵的異常信息: 異常數(shù)據(jù)類(lèi)型、異常的參數(shù) (如本例中的 "unsupported type" )、在哪個(gè)文件中引發(fā)了異常、出錯(cuò)的行號(hào)等等。

在關(guān)鍵異常信息下方,該頁(yè)面顯示了對(duì)該異常的完整 Python 追蹤信息。 這類(lèi)似于你在 Python 命令行解釋器中獲得的追溯信息,只不過(guò)后者更具交互性。 對(duì)棧中的每一幀,Django 均顯示了其文件名、函數(shù)或方法名、行號(hào)及該行源代碼。

點(diǎn)擊該行代碼 (以深灰色顯示),你可以看到出錯(cuò)行的前后幾行,從而得知相關(guān)上下文情況。

點(diǎn)擊棧中的任何一幀的“Local vars”可以看到一個(gè)所有局部變量的列表,以及在出錯(cuò) 那一幀時(shí)它們的值。 這些調(diào)試信息相當(dāng)有用。

注意"Traceback"下面的"Switch to copy-and-paste view"文字。 點(diǎn)擊這些字,追溯會(huì) 切換另一個(gè)視圖,它讓你很容易地復(fù)制和粘貼這些內(nèi)容。 當(dāng)你想同其他人分享這些異常 追溯以獲得技術(shù)支持時(shí)(比如在 Django 的 IRC 聊天室或郵件列表中),可以使用它。

你按一下下面的"Share this traceback on a public Web site"按鈕,它將會(huì)完成這項(xiàng)工作。 點(diǎn)擊它以傳回追溯信息至http://www.dpaste.com/,在那里你可以得到一個(gè)單獨(dú)的URL并與其他人分享你的追溯信息。
接下來(lái)的”Request information”部分包含了有關(guān)產(chǎn)生錯(cuò)誤的 Web 請(qǐng)求的大量信息: GET 和 POST、cookie 值、元數(shù)據(jù)(象 CGI 頭)。

Request信息的下面,“Settings”列出了 Django 使用的具體配置信息。
Django 的出錯(cuò)頁(yè)某些情況下有能力顯示更多的信息,比如模板語(yǔ)法錯(cuò)誤。
以上這篇django的403/404/500錯(cuò)誤自定義頁(yè)面的配置方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法詳解
這篇文章主要介紹了python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法,結(jié)合具體實(shí)例形式詳細(xì)分析了Python對(duì)象列表遍歷、排序的兩種常見(jiàn)操作技巧,需要的朋友可以參考下2019-06-06
解決Python?Pandas?DataFrame表格打印輸出不能對(duì)齊的問(wèn)題
這篇文章主要介紹了解決Python?Pandas?DataFrame表格打印輸出不能對(duì)齊的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
利用python實(shí)現(xiàn)簡(jiǎn)易版的貪吃蛇游戲(面向python小白)
這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)簡(jiǎn)易版的貪吃蛇游戲的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Python輕松獲取網(wǎng)絡(luò)時(shí)間和本地時(shí)間技巧揭秘
這篇文章主要為大家介紹了Python輕松獲取網(wǎng)絡(luò)時(shí)間和本地時(shí)間技巧揭秘,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
使用Python腳本將Bing的每日?qǐng)D片作為桌面的教程
這篇文章主要介紹了使用Python腳本將Bing的每日?qǐng)D片作為桌面的教程,示例基于Windows操作系統(tǒng)環(huán)境實(shí)現(xiàn),需要的朋友可以參考下2015-05-05
Python xlrd模塊導(dǎo)入過(guò)程及常用操作
這篇文章主要介紹了Python xlrd模塊導(dǎo)入過(guò)程及常用操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python基于回溯法子集樹(shù)模板解決取物搭配問(wèn)題實(shí)例
這篇文章主要介紹了Python基于回溯法子集樹(shù)模板解決取物搭配問(wèn)題,簡(jiǎn)單描述了搭配問(wèn)題并結(jié)合實(shí)例形式分析了Python使用回溯法子集樹(shù)模板解決取物搭配問(wèn)題的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
PyCharm對(duì)接DeepSeek大模型的操作流程
以下是使用 PyCharm 對(duì)接 DeepSeek 大模型的詳細(xì)操作流程,基于 Python 開(kāi)發(fā)環(huán)境,假設(shè)你已具備 DeepSeek API 的訪問(wèn)權(quán)限(需提前申請(qǐng) API Key),需要的朋友可以參考下2025-03-03
Python實(shí)現(xiàn)自動(dòng)清理電腦垃圾文件詳解
經(jīng)常存在在我們的電腦中的垃圾文件主要是指系統(tǒng)在運(yùn)行過(guò)程中產(chǎn)生的tmp臨時(shí)文件、日志文件、臨時(shí)備份文件等。本文將利用Python實(shí)現(xiàn)自動(dòng)清理這些垃圾文件,需要的可以參考一下2022-03-03

