Python 使用django和django rest框架时的异常处理
同时使用django和django rest框架并严格使用框架代码 例如 使用连接到视图集的路由器将序列化程序转换为模型 我的意思是没有自定义代码,除了需要输入django rest框架代码之外,我们不需要异常吗 我这样问是因为在我看到的所有代码示例中,我还没有看到try-catch块Python 使用django和django rest框架时的异常处理,python,django,rest,exception,Python,Django,Rest,Exception,同时使用django和django rest框架并严格使用框架代码 例如 使用连接到视图集的路由器将序列化程序转换为模型 我的意思是没有自定义代码,除了需要输入django rest框架代码之外,我们不需要异常吗 我这样问是因为在我看到的所有代码示例中,我还没有看到try-catch块 谢谢通常,如果数据格式不正确或不包含正确的值,例如错误的数据类型或某些请求的主键无效,则会引发某些类型的错误。Django REST框架序列化程序通过引发ValidationErrors并跟踪serializer
谢谢通常,如果数据格式不正确或不包含正确的值,例如错误的数据类型或某些请求的主键无效,则会引发某些类型的错误。Django REST框架序列化程序通过引发
ValidationError
s并跟踪serializer.serializer.\u errors
中的错误来处理此类错误。DRF框架以适当的格式将这些错误呈现给用户,例如:
{"detail": "Method 'DELETE' not allowed."}
当用户试图发送HTTP删除请求时。可以找到有关DRF如何处理不同异常的更多信息
至于您自己在视图、序列化程序、模型等中编写的代码,这取决于您是否尝试/排除并以您认为必要的方式进行处理。通常在序列化程序中,您可以使用raisevalidationerror(yourror)
,在视图中您可以返回响应(yourror,status=400)
希望我能帮上忙