Почему моя форма Django постоянно говорит "это поле обязательно для заполнения"
Я новичок в Django. Моя страница регистрации делает мою форму недействительной и продолжает печатать одну и ту же ошибку, даже если оба поля пароля заполнены и они одинаковы. Я приложил только те коды, которые относятся к полям пароля
Ошибка: <ul class="errorlist"><li>password1<ul class="errorlist"><li>This field is required.</li></ul></li><li>password2<ul class="errorlist"><li>This field is required.</li></ul></li><li>__all__<ul class="errorlist nonfield"><li>Passwords do not match.</li></ul></li></ul>
forms.py:
class RegisterForm(UserCreationForm):
password1 = forms.CharField(
required=True,
widget=forms.PasswordInput(attrs={
'class': 'form-control',
'name': 'password1',
'id': 'floatingPassword',
'placeholder':'Password',
}),
)
password2 = forms.CharField(
required=True,
widget=forms.PasswordInput(attrs={
'class': 'form-control',
'name': 'password2',
'id': 'floatingConfirmPassword',
'placeholder':'Confirm password',
}),
)
class Meta:
model = User
fields = [
'password1',
'password2',
]
# Compare password
def clean(self):
self.cleaned_data = super().clean()
password1 = self.cleaned_data.get('password1')
password2 = self.cleaned_data.get('password2')
if password != password2:
raise forms.ValidationError("Passwords do not match.")
return self.cleaned_data
views.py (В прототипе)
def register(request):
# Create a new form
if request.method == 'GET':
form = RegisterForm()
return render(request, 'users/register.html', {'form': form})
# When the user submits the form
elif request.method == 'POST':
form = RegisterForm(request.POST)
# Check if the form is valid
if form.is_valid():
print('FORM is valid!')
print(form.cleaned_data)
form.save()
#user = form.cleaned_data.get('username')
#messages.success(request, f"Account has been created for {user}")
# UPDATE THE URL LINK IN THE FUTURE
return redirect('/login')
else:
print('Form is not valid')
print(form.errors)
#messages.error(request, 'Error processing your request')
return render(request, 'users/register.html', {'form': form})
register.html: