前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django学习-第十三讲(上):视图高级(三)错误处理

Django学习-第十三讲(上):视图高级(三)错误处理

作者头像
小海怪的互联网
发布2019-10-08 15:59:24
6400
发布2019-10-08 15:59:24
举报

1. 错误处理

在一些网站开发中。经常会需要捕获一些错误,然后将这些错误返回比较优美的界面,或者是将这个错误的请求做一些日志保存。

1.1 常用的错误码

404:服务器没有指定的url。 403:没有权限访问相关的数据。 405:请求的method错误。 400:bad request,请求的参数错误。 500:服务器内部错误,一般是代码出bug了。 502:一般部署的时候见得比较多,一般是nginx启动了,然后uwsgi有问题

1.2 自定义错误模板

在碰到比如404,500错误的时候,想要返回自己定义的模板。那么可以直接在templates文件夹下创建相应错误代码的html模板文件。那么以后在发生相应错误后,会将指定的模板返回回去,通常我们定义的错误模板的html名称和错误代码的名称保持一致,当系统发生错误的时候会自动寻找相应名称的模板,并进行返回。

代码语言:javascript
复制
修改配置文件

DEBUG = False
ALLOWED_HOSTS = ["127.0.0.1"]

1.3 错误处理的解决方案

对于404和500这种自动抛出的错误。我们可以直接在templates文件夹下新建相应错误代码的模板文件。而对于其他的错误,我们可以专门定义一个app,用来处理这些错误

代码语言:javascript
复制
views.py
from django.http import HttpResponse
from django.shortcuts import render
def view_405(request):
    return render(request,"errors/405.html",status=405)

urls.py
from django.urls import path
from . import views
urlpatterns = [
    path("405",views.view_405,name="405")
]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.10.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 错误处理
    • 1.1 常用的错误码
      • 1.2 自定义错误模板
        • 1.3 错误处理的解决方案
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档