#|Django自定义全局403、404、500错误页面
自定义模板
403
403-禁止访问 - 锐客网
HTTP 403 - 禁止访问
404
404-无法找到文件 - 锐客网
HTTP 404- 无法找到文件
500
500-服务器错误 - 锐客网
HTTP 500 - 内部服务器错误
编写视图
# 全局403、404、500错误自定义页面显示
def page_not_found(request):
return render(request, '404.html')def page_error(request):
return render(request, '500.html')def permission_denied(request):
return render(request, '403.html')
修改url
from .views import page_error, page_not_found, permission_deniedurlpatterns = [
# ...
]# 定义错误跳转页面
handler403 = permission_denied
handler404 = page_not_found
handler500 = page_error
尝试使用无权限用户访问,看是否会显示该页面
如果不对,修改settings.py中的DEBUG的值
DEBUG = False
注:若是DEBUG=True,有些情况下则不会生效Http404抛出异常
raise Http404('资源不存在,请访问 xxx 查看')
模板中捕获异常信息
使用
{{ exception }}
即可捕获异常信息,转换为html代码{{ exception|safe }}
,可以根据这些代码中的id等,得到跳转的链接,参考
{% load static %}.pic {
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
404-无法找到文件 - 锐客网
文章图片
{{ exception|safe }}
后端
raise Http404('访问资源不存在,即将跳转 {}'.format('blog.starmeow.cn'))
【#|Django自定义全局403、404、500错误页面】那么当出现404错误是,jquery就获取该id的值,如果是
//
或者是http
开头,表明可能是个链接(后端请限制格式),前端直接跳转推荐阅读
- SpringBoot调用公共模块的自定义注解失效的解决
- python自定义封装带颜色的logging模块
- django-前后端交互
- 列出所有自定义的function和view
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- 自定义MyAdapter
- django2.2|django2.2 一般项目步骤(初步)
- Android自定义view实现圆环进度条效果
- Flutter自定义view|Flutter自定义view —— 闯关进度条
- js保留自定义小数点