我在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自定义错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)