【问题标题】:exception handling while using django and django rest framework使用 django 和 django rest 框架时的异常处理
【发布时间】:2017-07-20 04:36:08
【问题描述】:

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

例子,

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

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

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

谢谢

【问题讨论】:

    标签: python django rest exception


    【解决方案1】:

    一般来说,如果数据格式不正确或不包含正确的值,例如错误的数据类型或某些请求的无效主键,则会引发某种类型的错误。 Django REST Framework 序列化程序通过引发ValidationErrors 并跟踪serializer.Serializer._errors 中的错误来处理这些类型的错误。 DRF 框架将这些错误以合适的格式呈现给用户,例如:

    {"detail": "Method 'DELETE' not allowed."}
    

    当用户尝试发送 HTTP DELETE 请求时。有关 DRF 如何处理不同异常的更多信息,请参阅here

    至于您自己在视图、序列化程序、模型等中编写的代码,您可以尝试/排除和处理您认为有必要的代码。通常在序列化程序中,您可能会使用raise ValidationError(yourError),而在视图中您可能会使用return Response(yourError, status=400)

    希望我有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 2015-03-25
      • 2021-05-29
      • 2015-08-07
      • 2015-01-04
      • 2020-06-11
      • 2018-07-23
      相关资源
      最近更新 更多