Всегда неправильный пароль в Django

Итак, проблема заключается в том, что пароль всегда неправильный, даже если он правильный. Я убеждаюсь, что ввожу пароль правильно в реестре, но при входе в систему пароль неправильный. Я уже не знаю, как это исправить, я потерян.

views.py

Ниже представлены мои модели, которые я буду использовать.

models.py


from django.db import models
from django.core.validators import MinValueValidator
    
class Customer(models.Model):
    username = models.CharField(max_length=200, null=True)
    firstname = models.CharField(max_length=200, null=True)
    lastname = models.CharField(max_length=200, null=True)
    email = models.EmailField(max_length=200, null=True)
    address = models.CharField(max_length=200, null=True)
    phone = models.CharField(max_length=11, null=True)
    birthdate = models.DateField(null=True)
    password1 = models.CharField(max_length=256, null=True)
    date_created = models.DateTimeField(auto_now_add=True, null=True)
        
    def __str__(self):
        return  f"({self.firstname} {self.lastname} {self.email})"
    
class Menu(models.Model):
    name = models.CharField(max_length=200, null=True)
    price = models.DecimalField(max_digits=10, decimal_places=2,null=True)    
    
    def __str__(self):
        return self.name

Это мой файл forms.py

forms.py
from django import forms
from .models import Customer
from django.contrib.auth.hashers import make_password

class RegistrationForm(forms.ModelForm):
    password1 = forms.CharField(label='Password', widget=forms.PasswordInput)
    password2 = forms.CharField(label='Confirm Password', widget=forms.PasswordInput)

    class Meta:
        model = Customer
        fields = ['username', 'firstname', 'lastname', 'email', 'address', 'phone', 'birthdate', 'password1', 'password2']
                
    def clean_email(self):
        email = self.cleaned_data['email']
        if Customer.objects.filter(email=email).exists():
            raise forms.ValidationError("This email address is already in use.")
        return email
    
    def clean(self):
        cleaned_data = super().clean()
        password1 = cleaned_data.get("password1")
        password2 = cleaned_data.get("password2")
        if password1 != password2:
            raise forms.ValidationError("Passwords do not match.")
        return cleaned_data
    
    def save(self, commit=True):
        user = super().save(commit=False)
        user.password1 = make_password(self.cleaned_data['password1'])
        if commit:
            user.save()
        return user
    
class LoginForm(forms.Form):
    email = forms.EmailField(max_length=200)
    password1 = forms.CharField(label='Password1', widget=forms.PasswordInput)

Это весь код, который у меня есть.

Вернуться на верх