Я пытаюсь сделать проверку электронной почты и пароля с помощью валидаторов в Django. У меня есть собственная форма регистрации. Я просто извлекаю из него значения электронной почты и пароля, используя представление под названием «Регистрация». Всякий раз, когда я пытаюсь зарегистрировать нового пользователя, код всегда переходит в блок исключений, я почти уверен, что делаю что-то не так с validate_email() и validate_password(). Вот мой взгляд:
def register(request):
if request.method == 'GET':
return render(request, 'index.html')
else:
username = request.POST['username']
email = request.POST['email']
pass1 = request.POST['password1']
pass2 = request.POST['password2']
try:
validate_email(email)
except ValidationError:
return render(request, 'register.html', {'emailErr':'Hmm.. Did you enter a valid email?'})
try:
validate_password(pass1)
validate_password(pass2)
except ValidationError: #This block runs
return render(request, 'register.html', {'passErr':'Please enter a valid password'})
if User.objects.filter(email=email).exists():
return render(request, 'register.html', {'error1':'Email already exists'})
else:
if pass1 == pass2:
try:
user = User.objects.create_user(username=username, password=pass1, email=email)
user.save()
login(request,user)
sendConfirm(user)
return render(request, 'confirm_please.html')
except IntegrityError:
return render(request, 'register.html', {'error2':'User already exists'})
else:
return render(request, 'register.html', {'error3':'Make sure the passwords are same'})
Небольшая помощь будет оценена