av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

python為Django項目上的每個應(yīng)用程序創(chuàng)建不同的自定義404頁面(最佳答案)

瀏覽:6日期:2022-07-28 15:37:22

有沒有一種方法可以為Django項目中的每個應(yīng)用程序創(chuàng)建多個自定義錯誤模板,我的意思是,在我的項目中,我有3個應(yīng)用程序,每個應(yīng)用程序?qū)@示3種不同的custom 404錯誤.

現(xiàn)在,我在后臺應(yīng)用程序和前臺顯示相同的404錯誤頁面.

最佳答案

創(chuàng)建一個自定義error view并將其分配給根urls.py中的handler404變量:

from django.views.defaults import page_not_found def my_error_404(request, exception): template_name = ’404.html’ if request.path.startswith(’/backoffice/’): template_name=’backoffice/404.html’ elif request.path.startswith(’/frontoffice/’): template_name=’frontoffice/404.html’ return page_not_found(request, exception, template_name=template_name)

此代碼適用于Django 1.9.如果使用django< = 1.9,則從視圖中刪除exception參數(shù).

知識點補(bǔ)充:

Django 自定義 404 500 等錯誤頁面

起步要想自定義錯誤頁面,需要關(guān)閉調(diào)試模式 DEBUG = False ,因為調(diào)試模式的錯誤頁面是開發(fā)下會顯示錯誤信息的。

有兩種方法可以實現(xiàn)自定義的錯誤頁面。

方法一:創(chuàng)建特定命名的模板文件

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

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

ERROR_404_TEMPLATE_NAME = ’404.html’

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

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

方法二:設(shè)置句柄

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

# urls.pydef page_not_found(request, exception): return render(request, ’your_404_filename.html’)handler404 = page_not_foundurlpatterns = [ ...]

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

哪些錯誤頁面可以配置具體能自定義錯誤頁面的有 4 中狀態(tài)碼:

# django.views.defaults.pyERROR_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__.pyhandler400 = defaults.bad_requesthandler403 = defaults.permission_deniedhandler404 = defaults.page_not_foundhandler500 = defaults.server_error

總結(jié)

到此這篇關(guān)于python為Django項目上的每個應(yīng)用程序創(chuàng)建不同的自定義404頁面(最佳答案)的文章就介紹到這了,更多相關(guān)python django自定義404頁面內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产精品欧美大片 | 91久久精品国产 | 日韩精品一区二区三区在线观看 | 日韩精品在线播放 | 日韩毛片网 | 狠狠久 | 国产线视频精品免费观看视频 | 亚洲精品久久区二区三区蜜桃臀 | 国产欧美精品一区二区 | 岛国av一区二区 | 日韩一区二区在线视频 | 99精品久久久久 | 国产最新网址 | 国产综合久久久 | 国产精品久久久久久久久久久久久 | 一区二区三区四区在线视频 | 国产精品一区二区av | 色欧美片视频在线观看 | 亚洲人成网站777色婷婷 | 91精品国产综合久久小仙女图片 | 日本久草 | 精品国产乱码久久久久久1区2区 | 午夜一区二区三区在线观看 | 国产电影精品久久 | 人人做人人澡人人爽欧美 | 男女污污网站 | 一级片免费观看 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 国产精品无码久久久久 | 国产高清一区二区三区 | 国产在线观看一区二区三区 | 亚洲欧洲精品在线 | av手机在线看| 精品国产欧美一区二区三区成人 | 正在播放国产精品 | 午夜婷婷激情 | 天天插天天操 | 美女一区二区在线观看 | 国产传媒视频在线观看 | 一区二区三区四区不卡 | 国产在线资源 |