Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用django和django rest框架时的异常处理_Python_Django_Rest_Exception - Fatal编程技术网

Python 使用django和django rest框架时的异常处理

Python 使用django和django rest框架时的异常处理,python,django,rest,exception,Python,Django,Rest,Exception,同时使用django和django rest框架并严格使用框架代码 例如 使用连接到视图集的路由器将序列化程序转换为模型 我的意思是没有自定义代码,除了需要输入django rest框架代码之外,我们不需要异常吗 我这样问是因为在我看到的所有代码示例中,我还没有看到try-catch块 谢谢通常,如果数据格式不正确或不包含正确的值,例如错误的数据类型或某些请求的主键无效,则会引发某些类型的错误。Django REST框架序列化程序通过引发ValidationErrors并跟踪serializer

同时使用django和django rest框架并严格使用框架代码

例如

使用连接到视图集的路由器将序列化程序转换为模型

我的意思是没有自定义代码,除了需要输入django rest框架代码之外,我们不需要异常吗

我这样问是因为在我看到的所有代码示例中,我还没有看到try-catch块


谢谢

通常,如果数据格式不正确或不包含正确的值,例如错误的数据类型或某些请求的主键无效,则会引发某些类型的错误。Django REST框架序列化程序通过引发
ValidationError
s并跟踪
serializer.serializer.\u errors
中的错误来处理此类错误。DRF框架以适当的格式将这些错误呈现给用户,例如:

{"detail": "Method 'DELETE' not allowed."}
当用户试图发送HTTP删除请求时。可以找到有关DRF如何处理不同异常的更多信息

至于您自己在视图、序列化程序、模型等中编写的代码,这取决于您是否尝试/排除并以您认为必要的方式进行处理。通常在序列化程序中,您可以使用
raisevalidationerror(yourror)
,在视图中您可以
返回响应(yourror,status=400)

希望我能帮上忙