我正在使用 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
但它仍然不起作用。请指导我解决此问题,并提前致谢。