打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python测试开发django-96.404和500页面处理

前言

django 访问一个不存在的 url 地址时出现404,会报一大堆异常的 html 页面。我们可以自定义一个 404 页面,这样看起来页面友好一点。

遇到问题

settings.py 当 DEBUG 设置为 True 的时候

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = ['*']

访问一个不存在地址:http://localhost:8000/yoyo,404页面

DEBUG = True 是开发者模式,报错的时候方便排错,正式部署一般设置 DEBUG = False

自定义404页面

settings.py 设置 DEBUG = False

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ['*']

在 templates 模板下添加 404.html 和 500.html

404.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>404 not found</title>
</head>
<body>
<p>404 not found</p>

</body>
</html>

500.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>500 server error</title>
</head>
<body>
<p>500 server error</p>
</body>
</html>

修改views.py文件,添加2个视图函数

def page_not_found(request, exception):
return render(request, '404.html')

def page_error(request):
return render(request, '500.html')

urls.py配置

配置 handler404 = “应用名称.views.函数名称”

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

urlpatterns = [
path('admin/', admin.site.urls), # 默认admin路径
]

handler404 = 'apiapp.views.page_not_found'
handler500 = 'apiapp.views.page_error'
# 格式为:'app名.views.函数名'

访问404页面

访问一个不存在地址:http://localhost:8000/yoyo/,404页面

DEBUG = False 后如果打开web页面,发现静态资源文件丢失,那是另外一个问题,参考这篇https://www.cnblogs.com/yoyoketang/p/14860180.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Django~1
Django快速入门demo
[打造自己的监控系统] 开始我们的第一个网页
Django简介
第八章 管理支付和订单
django中的FBV和CBV
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服