У меня есть пользовательская модель пользователя MyUser
class MyUser(AbstractBaseUser):
email = models.EmailField(_('email adress'),unique=True)
Я создал форму входа CustomAuthenticationForm
, которая наследуется от встроенной AuthenticationForm
from django import forms
from django.contrib.auth.forms import AuthenticationForm
from .models import MyUser
class CustomAuthenticationForm(AuthenticationForm):
class Meta:
model = MyUser
fields = ('email',)
Теперь я хочу создать вход в систему, где я могу проверить введенные учетные данные пользователя и аутентифицировать пользователя. Чтобы выполнить эту задачу, я немного смутился из-за непонимания, как правильно это сделать.
def login(request):
if request.method == 'POST':
form = CustomAuthenticationForm(request.POST)
if form.is_valid():
email = form.cleaned_data['email']
password = form.cleaned_data['password']
#how to check that user inputed
#data is valid. Is AuthenticationForm have any method to check password validness
user = authenticate(email=email,password=password)
else:
form = CustomAuthenticationForm()
return render(request,'registration/loginn.html',{'form':form})
Вот мой вопрос: во встроенном AuthenticationForm
есть какой-либо метод, обеспечивающий функциональность для проверки правильности пароля пользователя. Если нет, никто не может предложить какое-либо подходящее решение для проверки пароля, чем аутентифицировать пользователя