Ожидается ошибка проверки, но есть ошибка ключа

Я пишу форму входа в систему, под которой нужно повторно ввести пароль для проверки. Когда я ввожу правильную информацию, он работает, тогда как при вводе ошибки ключа пустой формы 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>

Спасибо, что посмотрели

0 ответов

Другие вопросы по тегам