【发布时间】:2016-09-08 08:53:55
【问题描述】:
DRF 新手在这里。
我正在尝试通过自定义异常处理程序处理项目中的所有异常。基本上,我想要做的是,如果任何序列化程序无法验证数据,我想将相应的错误消息发送到我的自定义异常处理程序并相应地重新格式化错误。
我已将以下内容添加到 settings.py。
# DECLARATIONS FOR REST FRAMEWORK
REST_FRAMEWORK = {
'PAGE_SIZE': 20,
'EXCEPTION_HANDLER': 'main.exceptions.base_exception_handler',
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication'
)
}
但是,一旦我向项目中的任何端点发送了无效参数,我仍然会收到 DRF 验证器的默认错误消息。 (例如 {u'email': [u'This field is required.']})
在相应序列化程序的验证函数上引发的错误,永远不会到达我的异常处理程序。
这是我正在处理的Project Tree 的图像。
我错过了什么吗?
提前谢谢你。
【问题讨论】:
标签: python django exception-handling django-rest-framework