0
我想从django-rest-auth中发现一个异常。类rest_auth.serializers.LoginSerializer抛出各种异常,所有exceptions.ValidationError如何在django-rest框架中获得正确的验证异常?
msg = _('Must include "email" and "password".')
raise exceptions.ValidationError(msg)
msg = _('Must include "username" and "password".')
raise exceptions.ValidationError(msg)
raise serializers.ValidationError(_('E-mail is not verified.'))
我只在处理最后一个感兴趣“电子邮件没有被证实。”但try块会捕获所有ValidationError异常。鉴于字符串也被翻译,我怎样才能处理我感兴趣的问题?这样的支票会好吗还是有更好的办法?
if exc.data is _('E-mail is not verified.')
# do stuff
raise exc
谢谢你的回答。我曾考虑过对LoginSerializer类进行子分类并重写validate方法。我主要关心的是验证方法有许多代码行,我不得不复制到我的覆盖,并通过这样做,我基本上会创建一个叉,不会从以后的改进中受益。但是你的建议似乎更简单。 – voger