django自定义404返回页面
HTTP404:
百度百科:
404页面是客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面。
个人见解:
服务器不存在或无法解析你浏览的网页资源.
前言:
任意访问一个不存在的url路径,Django在调试模式DEBUG=True下就会返回404并显示错误信息。项目上线要关闭调试模式。给其自定义一个404返回页面,只要访问资源不存在就返回此页面.
一. 设置——project/settings.py
# 关闭调试
DEBUG = False
# 允许访问的域名或者IP地址(都放行) 写其他会报错
ALLOWED_HOSTS = ['*']
# 设置公用模板应用路径
TEMPLATES = [
{
'DIRS': [
os.path.join(BASE_DIR, 'templates'),
],
}
二.添加模板文件——templates/404.html、
腾讯公益404
超链接的可定制化:修改“homePageUrl”、“homePageName”两个参数即可。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8"/>
<title>宝贝回家</title>
</head>
<body>
<script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8" homePageUrl="http://127.0.0.1:8000/" homePageName="返回首页"></script>
</body>
</html>
三. 修改views——app/views.py
from django.shortcuts import render
# 自定义处理404返回方法
def page_not_found(request, exception):
return render(request, '404.html', exception)
四.添加路由——app/urls
from . import views
# 固定写法
handler404 = views.page_not_found
# 500同理
handler500 = views.page_not_found
五. 重启项目
重新启动项目 输入错误路径。即展示404腾讯公益寻找宝贝回家页面。
六.结尾
积德行善,共同携手,人人献出一份力,帮助更多儿童寻找回家路.