有时候在浏览网站时,偶尔会遇到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=["*"],重启服务器后,在浏览器上访问如下: