Всегда неправильный пароль в 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)
Это весь код, который у меня есть.