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

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

作者: 小海怪的互联网 | 来源:发表于2019-10-04 10:02 被阅读0次

    1. 错误处理

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

    1.1 常用的错误码

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

    1.2 自定义错误模板

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

    修改配置文件
    
    DEBUG = False
    ALLOWED_HOSTS = ["127.0.0.1"]
    

    1.3 错误处理的解决方案

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

    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")
    ]
    

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/icgjpctx.html