django的403/404/500錯誤自定義頁面的配置方式
要實現(xiàn)標題的功能,總共分四步:
1.創(chuàng)建html錯誤頁
2.配置settings
3.編寫視圖
4.配置url
我的開發(fā)環(huán)境:
django1.10.3
python2.7.12
前期工作
創(chuàng)建項目及app
$ django-admin.py startproject Test
...
$ python manage.py startapp myapp
...
1.創(chuàng)建html錯誤頁
在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.編寫視圖
在myapp下編寫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!運行一下,看看結(jié)果!
補充知識:Django 漂亮的出錯頁面

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

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

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

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

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

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

Request信息的下面,“Settings”列出了 Django 使用的具體配置信息。
Django 的出錯頁某些情況下有能力顯示更多的信息,比如模板語法錯誤。
以上這篇django的403/404/500錯誤自定義頁面的配置方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中創(chuàng)建數(shù)值列表的4種方法總結(jié)
在Python中列表(List)是一種有序、可變的數(shù)據(jù)類型,被廣泛用于存儲和處理多個元素,這篇文章主要給大家介紹了關(guān)于Python中創(chuàng)建數(shù)值列表的4種方法,需要的朋友可以參考下2024-05-05
python輸出當前目錄下index.html文件路徑的方法
這篇文章主要介紹了python輸出當前目錄下index.html文件路徑的方法,涉及Python操作目錄的相關(guān)技巧,需要的朋友可以參考下2015-04-04
Python數(shù)據(jù)分析之使用scikit-learn構(gòu)建模型
這篇文章主要介紹了Python數(shù)據(jù)分析之使用scikit-learn構(gòu)建模型,sklearn提供了model_selection模型選擇模塊、preprocessing數(shù)據(jù)預(yù)處理模塊、decompisition特征分解模塊,更多相關(guān)內(nèi)容需要朋友可以參考下面文章內(nèi)容2022-08-08
Python使用Slider組件實現(xiàn)調(diào)整曲線參數(shù)功能示例
這篇文章主要介紹了Python使用Slider組件實現(xiàn)調(diào)整曲線參數(shù)功能,結(jié)合實例形式分析了Python使用matplotlib與Slider組件進行圖形繪制相關(guān)操作技巧,需要的朋友可以參考下2019-09-09
從零學(xué)python系列之數(shù)據(jù)處理編程實例(二)
這篇文章主要介紹了python數(shù)據(jù)處理編程實例,需要的朋友可以參考下2014-05-05

