Привет , у меня есть форма и есть вьюха. не получается проверить пароль при регистрации.
при вводе в форму имейла и паролей 1234567890 и 0987654321, должно бы показать сообщение о том что пароли не совпадают но вместо этого юзер сохраняется в бд с первым паролем ( 1234567890), но проверка уникальности имейла работает нормально ! почему так? подскажите
вот что получаю через принт из формы
f 21@j.ru
password1 = None
password1 = None
return p2 0987654321
return p1 None
view pass = 1234567890
class RegisterForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput,min_length=10)
password2 = forms.CharField(label='Confirm password', widget=forms.PasswordInput,min_length=10)
class Meta:
model = User
fields = ('email',)
def clean_email(self):
email = self.cleaned_data.get('email')
print("f ",email)
qs = User.objects.filter(email=email)
if qs.exists():
print("Exi ", email)
raise forms.ValidationError("email is taken")
return email
def clean_password2(self):
# Check that the two password entries match
password1 = self.cleaned_data.get("password1")
print("password1 = ", password1)
password2 = self.cleaned_data.get("password2")
print("password1 = ", password1)
if password1 and password2 and password1 != password2:
raise forms.ValidationError("Passwords don't match")
print("return p2",password2)
print("return p1 ", password1)
return password2
def registration(request):
title="Registration"
user = User()
form = RegisterForm(request.POST or None)#UserRegistrationForm(request.POST or None)
if form.is_valid():
user.email = form.cleaned_data['email']
user.password=form.cleaned_data['password']
print("view pass = ",user.password)
user = User.objects.create_user(user.email,user.password)
#user = User.objects.create_superuser(user.email, user.password)
user.save()
return redirect('index')
return render(request, "accounts/form.html", {"form": form, "title": title})