django的403/404/500错误自定义页面的配置
要实现标题的功能,总共分三步:
1.创建html错误页
2.配置settings
3.编写视图
4.配置url
环境:
django1.10 django1.11
python2.7 python3
前期工作
创建项目及app
$ django-admin.py startproject Test
...
$ python manage.py startapp myapp
...
在Test目录下,创建templates文件夹
在文件夹下创建404.html/403.html/500.html文件
配置tamplates文件路径、关闭Debug、配置allowrd_hosts
DEBUG = False # 关闭Debug
...
TEMPLATES = [
{
...
'DIRS': ['templates/'], # 配置tamplates文件路径
...
},
]
...
# 配置allowrd_hosts
ALLOWED_HOSTS = ["*"]
在myapp下编写views.py
from django.shortcuts import render
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')
...
from myapp.views import *
urlpattern = [
......
]
handler403 = permission_denied
handler404 = page_not_found
handler500 = page_error
...
ok!运行一下,看看结果!