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