Django вход пользователя в систему никогда не осуществляется

У меня проблемы со входом в систему Django.

Следующий оператор if (if user is not None:) всегда разрешается как false, поэтому он переходит к else.

Я не уверен почему и буду благодарен за любую помощь

Спасибо

VIEWS.PY

from django.shortcuts import render,redirect
from django.contrib.auth import authenticate,login,logout
from django.contrib import messages
# Create your views here.


def login_user(request):
    if request.method == 'post':

        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('index.html')
            
        else:
            messages.success(request,("there is an error....")) 
            return redirect('login')
  
    else:
        return render (request ,'login.html', {})

urls.py

from django.urls import path
from accounts import views

urlpatterns = [
    path('login_user', views.login_user ,name= 'login'),
      
]

main urls.py

""

from django.contrib import admin
from django.urls import path,include
from availability import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('availability.urls'), name='index'),
    path('accounts/', include('django.contrib.auth.urls')),
    path('accounts/', include('accounts.urls')),


]

'''

А вот форма входа в систему:

 <form action="" method="post">
        {% csrf_token %}
        <div class="input-group mb-3">
          <input type="text" class="form-control" name='username' placeholder="username">
          <div class="input-group-append">
            <div class="input-group-text">
              <span class="fas fa-user"></span>
            </div>
          </div>
        </div>
        <div class="input-group mb-3">
          <input type="password" class="form-control" name='password' placeholder="Password">
          <div class="input-group-append">
            <div class="input-group-text">
              <span class="fas fa-lock"></span>
            </div>
          </div>
        </div>
        <div class="row">
          <div class="col-8">
            <div class="icheck-primary">
              <input type="checkbox" id="remember">
              <label for="remember">
                Remember Me
              </label>
            </div>
          </div>
          <div class="col-4">
            <button type="submit" class="btn btn-primary btn-block">Sign In</button>
          </div>
        </div>
      </form>

Я пытаюсь создать пользовательскую форму входа в систему. Ниже приведено то, что у меня получилось на данный момент. Моя проблема в том, что независимо от того, что я делаю, логин никогда не аутентифицируется. Даже если у меня есть правильный email и пароль, я всегда получаю:

Как указано в официальной документации, строковое представление метода запроса гарантированно должно быть в верхнем регистре.

Таким образом, вам придется изменить оператор if на

def login_user(request):
    if request.method == 'POST':  # Change here

        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('index.html')
            
        else:
            messages.success(request,("there is an error....")) 
            return redirect('login')
  
    else:
        return render (request ,'login.html', {})
Вернуться на верх