当前位置: 首页 > article >正文

django 异常分类

Django异常

DJango会抛出一些它自己的异常,以及Python的标准异常。

Django核心异常

Django核心异常类定义在django.core.exceptions中。

ObjectDoesNotExist

_exception _ObjectDoesNotExist[source]

DoesNotExist异常的基类;对ObjectDoesNotExisttry/except会为所有模型捕获到所有DoesNotExist 异常。

ObjectDoesNotExist 和 DoesNotExist的更多信息请见 get()

FieldDoesNotExist

_exception _FieldDoesNotExist[source]

当被请求的字段在模型或模型的父类中不存在时,FieldDoesNotExist异常由模型的 _meta.get_field()方法抛出。

Changed in Django 1.8:

之前的版本中,异常只在django.db.models.fields中定义,并不是公共API的一部分。

MultipleObjectsReturned

_exception _MultipleObjectsReturned[source]

MultipleObjectsReturned异常由查询产生,当预期只有一个对象,但是有多个对象返回的时候。这个异常的一个基础版本在django.core.exceptions中提供。每个模型类都包含一个它的子类版本,它可以用于定义返回多个对象的特定的对象类型。

详见get()

SuspiciousOperation

_exception _SuspiciousOperation[source]

当用户进行的操作在安全方面可疑的时候,抛出SuspiciousOperation异常,例如篡改会话cookie。SuspiciousOperation的子类包括:

  • DisallowedHost
  • DisallowedModelAdminLookup
  • DisallowedModelAdminToField
  • DisallowedRedirect
  • InvalidSessionKey
  • SuspiciousFileOperation
  • SuspiciousMultipartForm
  • SuspiciousSession

如果SuspiciousOperation异常到达了WSGI处理器层,它会在Error层记录,并导致HttpResponseBadRequest异常。
详见日志文档

PermissionDenied

_exception _PermissionDenied[source]

PermissionDenied异常当用户不被允许来执行请求的操作时产生。

ViewDoesNotExist

_exception _ViewDoesNotExist[source]

当所请求的视图不存在时,ViewDoesNotExist 异常由 django.core.urlresolvers产生。

MiddlewareNotUsed

_exception _MiddlewareNotUsed[source]

当中间件没有在服务器配置中出现时,产生MiddlewareNotUsed异常。

ImproperlyConfigured

_exception _ImproperlyConfigured[source]

DJango配置不当时产生ImproperlyConfigured异常 – 例如,settings.py中的值不正确或者不可解析。

FieldError

_exception _FieldError[source]

FieldError异常当模型字段上出现问题时产生。它会由以下原因造成:

  • 模型中的字段与抽象基类中相同名称的字段冲突。
  • 排序造成了一个死循环。
  • 关键词不能由过滤器参数解析。
  • 字段不能由查询参数中的关键词决定。
  • 连接(join)不能在指定对象上使用。
  • 字段名称不可用。
  • 查询包含了无效的 order_by参数。

ValidationError

_exception _ValidationError[source]

当表单或模型字段验证失败时抛出ValidationError异常。关于验证的更多信息,请见表单字段验证模型字段验证 和 验证器参考

NON_FIELD_ERRORS

NON_FIELD_ERRORS

在表单或者模型中不属于特定字段的ValidationError 被归类为NON_FIELD_ERRORS。This constant is used as a key in dictionaries that otherwise map fields to their respective list of errors.

URL解析器异常

URL解析器异常定义在django.core.urlresolvers中。

Resolver404

_exception _Resolver404[source]

当向 resolve() 传递的路径不映射到视图的时候,Resolver404异常由django.core.urlresolvers.resolve()产生。 它是 django.http.Http404的子类。

NoReverseMatch

_exception _NoReverseMatch[source]

当你的URLconf中的一个匹配的URL不能基于提供的参数识别时,NoReverseMatch 异常由 django.core.urlresolvers 产生。

Database Exceptions

数据库异常由django.db导入。

Django封装了标准的数据库异常,以便确保你的DJango代码拥有这些类的通用实现。

_exception _Error

_exception _InterfaceError

_exception _DatabaseError

_exception _DataError

_exception _OperationalError

_exception _IntegrityError

_exception _InternalError

_exception _ProgrammingError

_exception _NotSupportedError

Django数据库异常的包装器的行为和底层的数据库异常一样。详见PEP 249,Python 数据库 API 说明 v2.0。

按照 PEP 3134__cause__属性会在原生(底层)的数据库异常中设置,允许访问所提供的任何附加信息。(注意这一属性在Python 2和 3下面都可用,虽然 PEP 3134通常只用于Python 3。)

_exception _models.``ProtectedError

使用django.db.models.PROTECT时,抛出异常来阻止所引用对象的删除。models.ProtectedError is a subclass of IntegrityError.

Http异常

HTTP异常由django.http导入。

UnreadablePostError

_exception _UnreadablePostError

用户取消上传时抛出UnreadablePostError异常。

事务异常

事务异常定义在django.db.transaction中。

TransactionManagementError

_exception _TransactionManagementError[source]

对于数据库事务相关的任何问题,抛出TransactionManagementError异常。

测试框架异常

由DJango django.test 包提供的异常。

RedirectCycleError

_exception _client.``RedirectCycleError

New in Django 1.8.

当测试客户端检测到重定向的循环或者过长的链时,抛出RedirectCycleError异常。

Python异常

Django在适当的时候也会抛出Python的内建异常。进一步的信息请见内建的异常的Python文档。

http://www.lryc.cn/news/2418031.html

相关文章:

  • 虚拟机安装Debian 12.5.0及其常用软件(2024.7)
  • Windows2000高级技巧
  • UPS电源的常见故障维修方法
  • Java Session 会话技术
  • Linux搭建Hyperledger Fabric区块链框架 - Hyperledger Fabric模型概念
  • 上网行为管理系统推荐(这六款上网行为管理软件值得收藏)
  • Superset【部署 01】在线安装数据可视化图表工具 Superset(Python虚拟环境部署+问题解决+WEB登录配置+官方图表展示)
  • 《挪威的森林》
  • VoIP协议分析
  • 解释一下HTTP/2中的服务器推送(Server Push)机制及其优势。
  • C语言详解 FILE文件操作
  • 【ChatGPT实践】联网插件以及常见问题处理方案
  • 世界编辑器WorldEditor 1.2版本发布,八大功能强化易用性和自动化效率【文末有彩蛋】
  • Linux下的SVN服务器搭建
  • FLV封装格式解析
  • WMI Provider Host(wmiprvse.exe)占用CPU高的解决方案
  • 【Go语言入门教程】Go语言简介
  • 有趣的网站分享——pornhub风格生成器
  • Android系统广播大全
  • 如何使用阿里云GPU云服务器进行深度学习训练?
  • 03 外贸各国有效黄页搜索渠道【重要渠道资源】
  • BIOS 设置详解
  • 夜色空间轻装影院震撼发布,开启影音定制新纪元
  • 1024分辨率《变形金刚3》BD中英双字 高清 1080P 9G   720P 6G 下载
  • yoyo跑_yoyo主持人5岁女儿照片曝光 其老公魏哲浩个人资料简介
  • iphone、ipad备份还原ios降级SHSH篇,转载
  • lm80认证_什么是LM-80测试什么产品需要做LM-80测试
  • 【Jenkins】2022版Jenkins教程(从配置到实战)-尚硅谷
  • RemoteViews用法一:widget简单用法
  • 环境搭建 ubuntu下TFTP、 NFS启动环境搭建