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