Django 4: проблема с auth.authenticate, он возвращает None
Я продолжаю свое продвижение по Django 4. Но у меня новая проблема. мой код входа не работает, хотя я следовал документу (я верю).
Проблема находится на этом уровне в моем файле view.py.
user=auth.authenticate(email=email, password=password)
возвращается none
Может кто-нибудь объяснить мне, почему код не работает. Я что-то забыл?
Вот мой html код
{% extends 'base.html' %}
{% block content %}
<section class="section-conten padding-y" style="min-height:84vh">
<div class="card mx-auto" style="max-width: 380px; margin-top:100px;">
<div class="card-body">
<h4 class="card-title mb-4">Sign in</h4>
{% include 'includes/alerts.html' %}
<form action="{% url 'login' %}" method="POST">
{% csrf_token %}
<div class="form-group">
<input type="email" class="form-control" placeholder="Email Address" name="email">
</div> <!-- form-group// -->
<div class="form-group">
<input type="password" class="form-control" placeholder="Password" name="password">
</div> <!-- form-group// -->
<div class="form-group">
<a href="#" class="float-right">Forgot password?</a>
</div> <!-- form-group form-check .// -->
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block"> Login </button>
</div> <!-- form-group// -->
</form>
</div> <!-- card-body.// -->
</div> <!-- card .// -->
<p class="text-center mt-4">Don't have account? <a href="{% url 'register' %}">Sign up</a></p>
<br><br>
</section>
{% endblock %}
и мой код представления
def login(request):
if request.method == 'POST':
email = request.POST['email']
password = request.POST['password']
user = auth.authenticate(email=email, password=password)
if user is not None:
auth.login(request, user)
# messages.success(request, 'Registration successful.')
return redirect('home')
else:
messages.error(request, 'Invalid login credentials.')
return redirect('login')
return render(request, 'accounts/login.html')