Пользователи (кроме пришедших от createsuperuser) не могут войти в веб-приложение
У меня есть страница регистрации и страница входа. Пользователи, которые зарегистрировались, не могут войти на страницу входа. Он всегда возвращает блок else, который перенаправляет HttpResponse('error'). Не могли бы вы мне помочь? примечание: пользователи успешно зарегистрировались (видно в базе данных) и все они активные пользователи. примечание2: только пользователи, созданные с помощью createuperuser, могут войти в login.html. остальные не могут.
в файле views.py
def login(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user:
if user.is_active:
auth_login(request, user)
return HttpResponseRedirect(reverse('users:home'))
else:
print("error")
return HttpResponse('error')
else:
return render(request, 'auth/login.html', {})
в urls.py
from django.urls import path
from users import views
app_name = 'users'
urlpatterns = [
path('', views.home, name='home'),
path('login/', views.login, name='login'),
path('logout/', views.logout, name='logout'),
]
в login.html
{% extends 'base.html' %}
{% block title %} Login {% endblock %}
{% block head %} {% endblock %}
{% block content %}
<div class="container">
{% if user.is_authenticated %}
<h1>You have already signed in</h1>
{% else %}
<h2>Login Page</h2>
<form action="{% url 'users:login' %}" method="POST">
{% csrf_token %}
<label for="username">Username:</label>
<input type="text" name="username"><br>
<br>
<label for="password">Password:</label>
<input type="password" name="password"><br>
<br>
<input type="submit" class="btn btn-primary" value="Login">
</form>
{% endif %}
</div>
{% endblock %}
Я буду благодарен, если кто-нибудь поможет мне.
Я перепробовал все известные мне способы решения проблемы. Но не смог решить. На самом деле те же коды работают в моих других проектах. Но я страдаю от той же проблемы в двух последних проектах. По этой причине мне нужна помощь сообщества.