运维咖啡吧

享受技术带来的乐趣,体验生活给予的感动

Django自定义错误页面配置

基于Django 2.2版本实现

Django下的错误类型主要有四种: - 400:客户端错误 - 403:没有权限 - 404:页面未找到 - 500:服务器错误

  1. 修改settings.py文件关闭DEBUG模式
DEBUG = False

自定义错误页面在Debug = True时不生效

  1. 创建错误页面,例如errors/403.html
You Don't have permission !
Please contact ops-coffee.cn
  1. view.py视图中创建自定义错误处理方法
from django.shortcuts import render

def bad_request_view(request, exception, template_name='errors/400.html'):
    return render(request, template_name)

def permission_denied_view(request, exception, template_name='errors/403.html'):
    return render(request, template_name)

def page_not_found_view(request, exception, template_name='errors/404.html'):
    return render(request, template_name)

def error_view(request, exception, template_name='errors/500.html'):
    return render(request, template_name)
  1. urls.py中添加错误行为由自定义程序处理
handler400 = 'webapp.views.bad_request_view'
handler403 = 'webapp.views.permission_denied_view'
handler404 = 'webapp.views.page_not_found_view'
handler500 = 'webapp.views.error_view'