Почему пользователь не входит в систему после регистрации в django
views.py (после регистрации он не входит в систему, может ли кто-нибудь помочь мне решить, почему это происходит после успешного создания пользователя, но пользователь не входит в систему. Пользователь успешно создает таблицу в базе данных и регистрируется
рассмотрите все необходимые добавленные
def login_view(request):
if request.method == "POST":
# Attempt to sign user in
email = request.POST["email"]
password = request.POST["password"]
user = authenticate(request, username=email, password=password)
# Check if authentication successful
if user is not None:
login(request, user)
return redirect('home')
else:
return render(request, "login.html", {
"message": "Invalid email or password."
})
else:
return render(request, "login.html")
models.py (считайте, что все необходимое установлено или добавлено )
class User(AbstractUser):
G = [
('Female', 'Female'),
('Male', 'Male'),
('Others', 'Others'),
]
address = models.TextField(max_length=50 ,default='' ,null=True,blank=True)
phone = models.CharField(max_length=15 )
email = models.EmailField(max_length=100 ,default='')
password = models.CharField(max_length=500)
Gender = models.CharField(max_length=150,choices=G ,default='',null=True,blank=True)
def __str__(self):
return self.email
def register(self):
self.save()
@staticmethod
def get_customer_by_email(email):
try:
return User.objects.get(email=email)
except:
return False
def isExists(self):
if User.objects.filter(email = self.email):
return True
return False
is_staff = models.BooleanField(('Staff status'),default=True,)
is_active = models.BooleanField(('Active'),default=True,)
login.html (где пользователь может войти в систему, но не работает)
<div class="loginContainer">
{% if message %}
<div><i>{{ message }}</i></div>
{% endif %}
<div class="login__form">
<h2>Login</h2>
<form action="{% url 'login' %}" method="post">
{% csrf_token %}
<div class="form-group">
<input autofocus class="form-control" type="email" name="email" placeholder="Email">
</div>
<div class="form-group">
<input class="form-control" type="password" name="password" placeholder="Password">
</div>
<input class="btn btn-primary" type="submit" value="Login">
</form>
<div>
Don't have an account? <a href="{% url 'registration' %}">Register here.</a>
</div>
</div>
</div>