Я пытаюсь создать простую страницу входа. Но пользователь всегда возвращается как none.
Вот мой логин. html
<form method = 'POST'>
{% csrf_token %}
<div class="body"></div>
<div class="name">
<div>Chili<span>Pili</span></div>
</div>
<br>
<div class="login">
<input type="text" placeholder="Username" name="username"><br>
<input type="password" placeholder="Password" name="password"><br>
<input type="submit" value="Login">
</div>
</form>
моя функция входа в view.py
def login(request):
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username = username, password = password)
if user is not None:
login(user)
print (user)
messages.success(request, "You have successfully Logged In.")
return redirect('index')
else:
messages.error(request, "You have entered invalid credentials. Please try again")
return redirect('login')
else:
return render(request, 'main/login.html')
models.py:
class users(models.Model):
_id = models.AutoField
name = models.CharField(max_length = 100)
username = models.CharField(max_length = 100)
email = models.EmailField(max_length=254)
hpassword = models.CharField(max_length = 255)
category = models.CharField(max_length=50, default= "teacher")
def __str__(self):
return self.name
return self.username
return self.email
return self.category
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = [username, hpassword]
Продолжает возвращаться как none, и выполняется только оператор else. Я не могу понять, что здесь не так