django 自定义访问异常页面

有时候在浏览网站时,偶尔会遇到404或者500的情况。通常都会有一个错误展示页。在django中要怎么样才能配置达到这种效果呢?

如果要使网站的异常响应必须适用于整个项目,那么就得在项目下的urls.py上进行配置。当前也可以根据项目下的每个应用配置异常页面,如下:

#myApp  urls.py

from operator import index
from django.urls import path,re_path
from . import views
from django.views.generic import RedirectView

urlpatterns = [
    # #设置路由当访问index路由时,跳转到index页面
    # path("goToPage",RedirectView.as_view(url="index"),name="goToPage")
]

#配置全局404页面
handler404 = "myApp.views.page_not_found"

#配置全局500页面
handler500 = "myApp.views.page_error"

在myApp项目下views.py内容:

from django.shortcuts import render

# Create your views here.

def page_not_found(request,exception):
    #全局404页面
    return render(request,"404.html",status=404)

def page_error(request):
    #全局500页面
    return render(request,"500.html",status=500)

在模板中定义404.html、500.html 页面

 

 

因为django默认是开启调式功能的,所以,需要先将setting.py中的DEBUG改为:DEBUG=False , ALLOWED_HOSTS=["*"],重启服务器后,在浏览器上访问如下:

 

posted @ 2022-04-09 21:57  西夏一品唐  阅读(133)  评论(0编辑  收藏  举报