Django rest framework:如何全局更改错误响应格式

Django rest framework: How to change error response format globally

来自 django 默认验证器的所有错误消息 return 都以点 (.) 结尾。无论如何要从全球所有消息中删除最后一个点。

或者,如果有人帮我找到一种方法来捕获这些错误 returning 函数,我可以 trim 如果该部分中存在最后一个点。

示例错误消息。

{
  "email": [
    "This field may not be blank."
  ]
}


{
  "email": [
    "Enter a valid email address."
  ]
}

如果您想更改所有这些,您应该在应用程序初始化的某处覆盖该字段的默认消息:

serializers.CharField.default_error_messages['blank'] = 'This field may not be blank'

比如可以找到空白的消息here

您可以使用Restframework 的异常处理程序。请有一个look.