亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django 自定義404 500等錯誤頁面的實現

發布時間:2020-09-28 04:38:03 來源:腳本之家 閱讀:335 作者:棲遲于一丘 欄目:開發技術

在開發網站的過程中,404,500錯誤,是不可避免產生的。
一旦產生了這種錯誤,很多可以通過web server 來處理。比如使用 apache 的定義
或者nginx 的定義。都可以定向處理。如果單純在django里面可以處理嗎?肯定是可以的,django提供了相應的處理方式,只要在django里

起步

面定義了,無論你今后部署在apache下或者是nginx下,都是生效的。

要想自定義錯誤頁面,需要關閉調試模式 DEBUG = False ,因為調試模式的錯誤頁面是開發下會顯示錯誤信息的。

有兩種方法可以實現自定義的錯誤頁面。

方法一:創建特定命名的模板文件

這是一種非常簡單的方式。在項目模板文件夾 templates 中創建命名為 404.html 的模板文件即可。

這個方式是其實是借用了 Django 的模板查找規則進行的。源碼在 django.views.defaults.py 中:

ERROR_404_TEMPLATE_NAME = '404.html'

def page_not_found(request, exception, template_name=ERROR_404_TEMPLATE_NAME):
 ...

總的來說,方法一不需要設路由,只要新建規定名稱的模板就能生效了。

方法二:設置句柄

如果需要更個性化的錯誤頁面,不需要拘泥于特定的模板文件名,可以重新設置句柄,具體是在 urls.py 中設置:

# urls.py
def page_not_found(request, exception):
 return render(request, 'your_404_filename.html')

handler404 = page_not_found

urlpatterns = [
 ...
]

除了能捕獲不存在路由地址,還能捕獲視圖中 raise Http404('message') 拋出的異常。

哪些錯誤頁面可以配置

具體能自定義錯誤頁面的有 4 中狀態碼:

# django.views.defaults.py
ERROR_404_TEMPLATE_NAME = '404.html'
ERROR_403_TEMPLATE_NAME = '403.html'
ERROR_400_TEMPLATE_NAME = '400.html'
ERROR_500_TEMPLATE_NAME = '500.html'

# django.conf.urls.__init__.py
handler400 = defaults.bad_request
handler403 = defaults.permission_denied
handler404 = defaults.page_not_found
handler500 = defaults.server_error

到此這篇關于Django 自定義404 500等錯誤頁面的實現的文章就介紹到這了,更多相關Django自定義404 500錯誤頁面內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵定县| 和龙市| 拉萨市| 治多县| 辽宁省| 楚雄市| 繁峙县| 花垣县| 张家口市| 泸州市| 兴化市| 吴旗县| 尚志市| 修文县| 马公市| 桃园市| 馆陶县| 溧阳市| 交口县| 安远县| 阳西县| 芦山县| 焦作市| 法库县| 萨迦县| 太康县| 萝北县| 神木县| 林周县| 晋中市| 彭阳县| 潍坊市| 兰坪| 平果县| 手游| 汝南县| 台东县| 长垣县| 沙湾县| 会东县| 历史|