在访问网站过程中,可能会出现404错误和500错误,分别是找不到请求的资源错误和WEB端服务器程序错误,它们一般是不可避免的。 一旦产生了这种错误,很多都是通过web server 来处理。比如使用 apache 的定义 或者nginx 的定义,都可以实现定向处理。但Django提供了相应的处理方式,所以单纯在Django里面就可以实现404错误或者500错误的定向处理,而且这种处理方式无论是部署在apache下还是nginx下,都是生效的
下面是详细配置过程:
1.urls的配置,出现这种错误时,就执行那个方法
from . import views
handler404 = views.page_not_found
handler500 = page_error
2.具体方法的编写
from django.shortcuts import render
def page_not_found(request):
return render(request, '404.html')
def page_error(request):
return render(request, '500.html')
看到这里,应该很熟悉了,定向到了自己定义的模板中。如上面的例子,分别有 404.html ,500.html 自己定义的页面在处理,就可以把这些页面做得更人性化
3.还有,需要将 settings.py中的debug设置为Fasle。这样,如果出现错误,就会出现自己定义的页面,而不会出现 django 自带的出错页面