Login не работает в django user not login

логин не работает я не знаю где проблема помогите пожалуйста.

https://youtu.be/tUqUdu0Sjyc ----- Деннис Айви - видео учитесь в youtube

просмотров

from django.contrib.auth import authenticate, login, logout

def login(request):
    if request.method == 'post':
        username = request.POST.get('username')
        password = request.POST.get('password')

        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('/')
    return render(request, 'login.html')

html

<form method="post">
    {% csrf_token %}
    <input type="username" name="username">
    <input type="password" name="password">
    <input type="submit" name="submit">
</form>

url

path('login/', views.login, name="login")

Здесь есть две проблемы:

  • request.method всегда в верхнем регистре; и
  • у вас столкновение имен между функцией представления и функцией auth.

Вы можете проверить это с помощью:

from django.contrib.auth import authenticate
from django.contrib.auth import login as login_auth
from django.contrib.auth import logout


def login(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')

        user = authenticate(request, username=username, password=password)
        if user is not None:
            login_auth(request, user)
            return redirect('/')
    return render(request, 'login.html')
Вернуться на верх