电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:3日期: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ù).

知識點(diǎn)補(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)文章:
主站蜘蛛池模板: 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 中药超微粉碎机(中药细胞级微粉碎)-百科 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 国际高中-国际学校-一站式择校服务-远播国际教育 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 踏板力计,制动仪,非接触多功能速度仪,逆反射系数测试仪-创宇 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 环球周刊网| 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 小型单室真空包装机,食品单室真空包装机-百科 | 低合金板|安阳低合金板|河南低合金板|高强度板|桥梁板_安阳润兴 北京租车牌|京牌指标租赁|小客车指标出租 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 深圳南财多媒体有限公司介绍 | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 锂离子电池厂家-山东中信迪生电源 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 杭州成人高考_浙江省成人高考网上报名 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 |