python – Django REST自定义错误

python – Django REST自定义错误,第1张

概述我正在尝试从REST Django框架创建自定义错误响应. 我在views.py中包含了以下内容, from rest_framework.views import exception_handlerdef custom_exception_handler(exc): """ Custom exception handler for Django Rest Framework 我正在尝试从REST Django框架创建自定义错误响应.

我在vIEws.py中包含了以下内容,

from rest_framework.vIEws import exception_handlerdef custom_exception_handler(exc):    """    Custom exception handler for Django Rest Framework that adds    the `status_code` to the response and renames the `detail` key to `error`.    """    response = exception_handler(exc)    if response is not None:        response.data['status_code'] = response.status_code        response.data['error'] = response.data['detail']        response.data['detail'] = "CUSTOM ERROR"    return response

并且还将以下内容添加到settings.py中.

REST_FRAMEWORK = {              'DEFAulT_PERMISSION_CLASSES': (                  'rest_framework.permissions.AllowAny',),'EXCEPTION_HANDLER': 'project.input.utils.custom_exception_handler'        }

我错过了什么,因为我没有得到预期的回应.即400 API响应中的自定义错误消息.

谢谢,

解决方法 正如Bibhas所说,使用自定义异常处理程序,您只能在调用异常时返回自己定义的错误.如果要在不触发异常的情况下返回自定义响应错误,则需要在视图本身中返回它.例如:
return Response({'detail' : "InvalID arguments",'args' : ['arg1','arg2']},status = status.http_400_BAD_REQUEST)
总结

以上是内存溢出为你收集整理的python – Django REST自定义错误全部内容,希望文章能够帮你解决python – Django REST自定义错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存