#|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-无法找到文件 - 锐客网 #|Django自定义全局403、404、500错误页面
文章图片
{{ exception|safe }}

后端
raise Http404('访问资源不存在,即将跳转 {}'.format('blog.starmeow.cn'))

【#|Django自定义全局403、404、500错误页面】那么当出现404错误是,jquery就获取该id的值,如果是//或者是http开头,表明可能是个链接(后端请限制格式),前端直接跳转

    推荐阅读