Django4 中文入门教程 Django4.0 URL调度器-错误处理

2024-02-25 开发教程 Django4 中文入门教程 匿名 2

当 Django 找不到所匹配的请求 URL 时,或引发了异常时,Django 会调用一个错误处理视图。

这些情况发生时使用的视图通过4个变量指定。它们的默认值应该满足大部分项目,但是通过赋值给它们以进一步的自定义也是可以的。

这些值得在你的根​URLconf​中设置。在其它​URLconf中设置这些变量将不会生效果。

它们的值必须是可调用的或者是表示视图的Python 完整导入路径的字符串,可以方便地调用它们来处理错误情况。

这些值是:

  • handler400 -- 一个可调用对象,或者一个代表视图的完整 Python 导入路径的字符串,如果 HTTP 客户端发送了一个引起错误条件的请求,并且响应的状态码为 400,那么就会调用该视图。默认情况下,这是 ​django.views.defaults.bad_request()​。如果你实现了自定义视图,请确保它接受 ​request和 ​exception参数,并返回一个 ​HttpResponseBadRequest
  • handler403 -- 一个可调用对象,或者一个代表视图的完整 Python 导入路径的字符串,如果用户没有访问资源所需的权限,那么就会调用该视图。默认情况下,这是 ​django.views.defaults.permission_denied()​。如果你实现了一个自定义视图,请确保它接受 ​request和 ​exception参数,并返回一个 ​HttpResponseForbidden
  • handler404 -- 一个可调用对象,或者一个代表视图的完整 Python 导入路径的字符串,如果没有任何 URL 模式匹配,那么就会调用该视图。默认情况下,这是 ​django.views.defaults.page_not_found()​。如果你实现了自定义视图,请确保它接受 ​request和 ​exception参数,并返回一个 ​HttpResponseNotFound​。
  • handler500 -- 一个可调用对象,或者一个代表视图的完整 Python 导入路径的字符串,在服务器出错时会被调用。当你在视图代码中出现运行时错误时,就会发生服务器错误。默认情况下,这是 ​django.views.defaults.server_error()​。如果你实现了自定义视图,请确保它接受一个 ​request参数,并返回一个 ​HttpResponseServerError​。