亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

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

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

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

最佳答案

創(chuàng)建一個(gè)自定義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ù).

知識(shí)點(diǎn)補(bǔ)充:

Django 自定義 404 500 等錯(cuò)誤頁(yè)面

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

有兩種方法可以實(shí)現(xiàn)自定義的錯(cuò)誤頁(yè)面。

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

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

這個(gè)方式是其實(shí)是借用了 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): ...

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

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

如果需要更個(gè)性化的錯(cuò)誤頁(yè)面,不需要拘泥于特定的模板文件名,可以重新設(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’) 拋出的異常。

哪些錯(cuò)誤頁(yè)面可以配置具體能自定義錯(cuò)誤頁(yè)面的有 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項(xiàng)目上的每個(gè)應(yīng)用程序創(chuàng)建不同的自定義404頁(yè)面(最佳答案)的文章就介紹到這了,更多相關(guān)python django自定義404頁(yè)面內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 看一级特黄a大片日本片黑人 | 国产一区二区三区日韩欧美 | 2022年国产精品久久久久 | 免费欧洲毛片a级视频 | 精品国产区 | 大陆精品自在线拍国语 | 亚洲女视频 | 精品一区亚洲 | a级片免费在线观看 | 国产一级第一级毛片 | 国产98色在线 | 久优草 | 国产精品福利视频萌白酱g 国产精品福利影院 | 全免费午夜一级毛片真人 | 国产老肥妇视频 | 国产欧美日韩不卡 | 福利视频在线观看免费版 | 国产精品亚洲第一区在线28石 | 在线看a级片| 九九九精品在线观看 | 久久国产免费一区二区三区 | 伦理片在线观看网址男女色黄色录像一一 | 黄色免费高清视频 | 久综合色 | 小优视频高清视频在线看 | 免费观看成人欧美1314www | 国产大片免费天天看 | 91视频麻豆 | 香蕉网站视频 | 中文字幕在线观看一区 | 国产成人综合亚洲欧美在 | 中国免费黄色片 | 1024免费视频| 国产美女一区二区三区 | 国产大片91精品免费观看男同 | 日韩大片观看网址 | 国产精品美女视频 | 欧美国产日韩911在线观看 | 被黑人操视频 | 亚洲欧美成人一区二区在线电影 | 黄色香蕉视频 |