1

我正在使用 Django Rest Auth 插件在 Django Rest Framework 中进行注册和登录。我想在用户注册时检查 OTP(唯一密钥)。我们正在向用户发送基于手机号码的 OTP。Django 在注册后检查 OTP。我想在注册之前设置这些条件。如果条件成立,则应进行注册。

class SignupForm(forms.Form):
    otp_no = forms.CharField(label='OptNo', required=True)

    def signup(self, request, user):
        try:
            otpobj = Otp.objects.get(pk=self.cleaned_data['otp_no'])
            if otpobj.phone_number == self.cleaned_data['phone_number']:
                user_number = UserNumber(user=user, phone_number=self.cleaned_data['phone_number'])
                user_number.save()
            else:
                raise forms.ValidationError('Number is not valid')
        except ObjectDoesNotExist:
            raise forms.ValidationError('OTP is not valid')

我已经添加了def create()def update()方法,UserSerializer但它仍然不起作用。请指导我解决此问题,并提前致谢。

4

0 回答 0