У меня есть несколько вопросов
- почему Authenticate () всегда не возвращает ничего, но когда я пытался использовать Exists (), он возвращает пользователя?
- Можем ли мы просто использовать Exists () для входа в систему?
Я использую django 1.11.7 и представления на основе классов
это мои views.py
class ShopLoginView(FormView):
template_name = 'shop/login.html'
form_class = LoginForm
success_url = '/shop/'
это мой forms.py
class LoginForm(forms.Form):
email = forms.EmailField()
password = forms.CharField()
def clean(self):
cleaned_data = super(LoginForm, self).clean()
email = cleaned_data.get("email")
password = cleaned_data.get("password")
user = authenticate(username=email, password=password)
if user is not None:
print(user)
else:
print(user)
raise forms.ValidationError("Wrong Email or Password")
это когда я использую метод Exists ()
class LoginForm(forms.Form):
email = forms.EmailField()
password = forms.CharField()
def clean(self):
cleaned_data = super(LoginForm, self).clean()
email = cleaned_data.get("email")
password = cleaned_data.get("password")
user = User.objects.filter(email=email, password=password)
if user.exists():
print(user)
else:
print(user)
raise forms.ValidationError("Wrong Email or Password")
есть идеи, что может происходить?