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")
]
网友评论