久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

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

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

有沒有一種方法可以為Django項目中的每個應用程序創建多個自定義錯誤模板,我的意思是,在我的項目中,我有3個應用程序,每個應用程序將顯示3種不同的custom 404錯誤.

現在,我在后臺應用程序和前臺顯示相同的404錯誤頁面.

最佳答案

創建一個自定義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參數.

知識點補充:

Django 自定義 404 500 等錯誤頁面

起步要想自定義錯誤頁面,需要關閉調試模式 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.pydef page_not_found(request, exception): return render(request, ’your_404_filename.html’)handler404 = page_not_foundurlpatterns = [ ...]

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

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

# 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

總結

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 99精品久久久 | 欧美激情一区二区三区 | 亚洲视频 欧美视频 | av一区二区三区 | 视频一区在线播放 | 在线视频第一页 | 成人在线不卡 | 欧美日本韩国一区二区 | 日韩一区二区三区在线观看 | 黄色国产大片 | 欧美在线高清 | 一区二区久久 | 国产精品大片在线观看 | 中文字幕日韩一区二区不卡 | 国产中文在线 | 成人影院一区二区三区 | 精品免费一区二区 | 亚洲男人天堂网 | 青青草免费在线视频 | 国产男女做爰免费网站 | 亚洲一区二区精品在线观看 | 日韩另类 | av网战 | 日韩xxxbbb| 日韩免费高清视频 | 亚洲人成人一区二区在线观看 | 亚洲一区 日韩精品 中文字幕 | 日韩精品视频在线 | 亚洲精品久久久久一区二区三区 | 国产成人免费视频 | 欧美日韩在线第一页 | 国产三级视频 | 婷婷毛片| 亚洲国产精久久久久久久 | 日韩免费 | 冷水浴在线观看 | 91传媒在线播放 | 国产成年人小视频 | 九色porny丨国产精品 | 亚洲欧美激情精品一区二区 | 亚洲狠狠久久综合一区77777 |