色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

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

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

現(xiàn)在,我在后臺應用程序和前臺顯示相同的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ù).

知識點補充:

Django 自定義 404 500 等錯誤頁面

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

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

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

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

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

ERROR_404_TEMPLATE_NAME = ’404.html’

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

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

方法二:設置句柄

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

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

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 免费 欧美 自拍 在线观看 | 日本三级香港三级妇三 | 欧美特黄一区二区三区 | 我想看三级特黄 | 国产成人精品magnet | 国产高清在线精品一区a | 怡红院自拍 | 国产网址在线观看 | 国产日韩久久久精品影院首页 | 亚洲成人91 | 久久国产精品女 | 免费中文字幕一级毛片 | 中文在线日韩 | 中文字幕s级优女区 | 美国一级毛片片免费 | 亚洲不卡一区二区三区在线 | 亚洲精品日本高清中文字幕 | 国产欧美精品区一区二区三区 | 免费a级毛片大学生免费观看 | 亚洲第一区在线 | 国产午夜精品免费一二区 | 国产精品久久久 | 成人国产亚洲欧美成人综合网 | 久久成人动漫 | 日韩欧美在线视频观看 | 午夜不卡在线 | 欧洲做人爱c欧美 | 高清午夜看片a福利在线观看琪琪 | 国产一级一片免费播放i | 毛片在线不卡 | 亚洲午夜网 | 国产亚洲一级精品久久 | 日本久久综合网 | 成年人黄视频在线观看 | 日韩在线国产精品 | 精品中文字幕在线观看 | 亚洲综合性 | 青青爽国产手机在线观看免费 | 亚洲精品中文字幕字幕 | 久草视频福利在线观看 | 日韩亚洲天堂 |