Ожидается ошибка проверки, но есть ошибка ключа
Я пишу форму входа в систему, под которой нужно повторно ввести пароль для проверки. Когда я ввожу правильную информацию, он работает, тогда как при вводе ошибки ключа пустой формы django возвращает ошибку ключа. С правильной информацией его работа не понимает, что не так.
коды следующие
forms.py
class Login(forms.Form):
name = forms.CharField()
email = forms.EmailField()
passwrd = forms.CharField(label='Password',
widget=forms.PasswordInput)
rpasswrd = forms.CharField(label='Re-enter Password',widget=forms.PasswordInput)
def clean(self):
cleaned_data = super().clean()
valpwd = cleaned_data['passwrd']
valrpwd = cleaned_data['rpasswrd']
valname = self.cleaned_data['name']
if valpwd != valrpwd:
raise forms.ValidationError('Password does not match')
if len(valname) < 4:
raise forms.ValidationError('Enter More than 4 words')
elif len(valname) > 20:
raise forms.ValidationError('Enter less than 20 words')
elif valname.isdigit():
raise forms.ValidationError('No Number Allowed in Name')
Views.py
def signup(request):
if request.method == 'POST':
log = Login(request.POST)
if log.is_valid():
print('Form Validated')
name = log.cleaned_data['name']
email = log.cleaned_data['email']
passwrd = log.cleaned_data['passwrd']
rpasswrd = log.cleaned_data['rpasswrd']
print('Name :', name)
print('Email:', email)
print('Password:', passwrd)
print('Re-Password:', rpasswrd)
return HttpResponseRedirect('/rk03/success/')
else:
log = Login()
print('This is a GET request')
return render(request, 'rk03/login.html', {'form': log})
login.html
<form action="" method="POST" novalidate>
{% csrf_token %}
<table>
{{form}}
</table>
<input type="submit" value="Submit">
</form>
Спасибо, что посмотрели