TypeError в /login/user login() принимает 1 позиционный аргумент, но было задано 2

я пытаюсь войти в систему, используя django.contrib.auth он выдает мне ошибку

когда бы я не пытался войти в систему, это дает мне ошибку ниже

TypeError at /login/user
login() takes 1 positional argument but 2 were given

вот мой шаблон входа и url отлично работает из login/user

<div class="container border border-2 border-info rounded-2 p-3" style="width: 400px;margin-top: 100px; margin-bottom: 200px;">
<form action="user" method="post">
{% csrf_token %}
    <h3 class="p-3">
        <small class="text-muted">Login To Your Account</small>
      </h3>
    <div class="mb-3 form-floating">
      
      <input type="text" class="form-control" id="InputUsername" aria-describedby="emailHelp" name="username" placeholder="Enter Username">
      <div id="emailHelp" class="form-text">We'll never share your email with anyone else.</div>
      <label for="InputUsername" >Username</label>
    </div>
    <div class="mb-3 form-floating">
     
      <input type="password" class="form-control" id="InputPassword" name="password" placeholder="Enter Password">
      <label for="InputPassword" class="form-label">Password</label>
    </div>
    <div class="mb-3 form-check">
      <input type="checkbox" class="form-check-input" id="exampleCheck1">
      <label class="form-check-label" for="exampleCheck1">Remember me</label>
    </div>
    <button type="submit" class="btn btn-primary">Login</button><a href="/register" class="streched-link p-3">Create Account</a>
  </form>

  
</div>

urls.py выглядит следующим образом

from store.settings import MEDIA_ROOT, MEDIA_URL
from . import views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('',views.home,name="home"),
    path('login/',views.login,name="login"),
    path('register/',views.register,name="register"),
    path('register/user',views.registeruser,name="registeruser"),
    path('login/user',views.handlelogin,name="loginuser"),
    path('/user/logout',views.handlelogout,name="logout")
   
]+  static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

views.py my handle login function

def handlelogin(request):
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(request, username=username, password=password)
    if user is not None:
        login(request, user)
        # Redirect to a success page.
        return redirect('')
    else:
        # Return an 'invalid login' error message
        return redirect('login')

def handlelogout(request):
    logout(request)
    return redirect(' ')

Я не понимаю, что я делаю неправильно кто-нибудь может мне сказать, пожалуйста

Исходя из вашего urls.py, вы определили функцию login, это означает, что если вы вызовете login(request, user), она вызовет функцию view, а не функцию login из модуля django.contrib.auth.

Вы можете импортировать его с другим именем, например:

from django.contrib.auth import login as authlogin

# ⋮

def login(request):
    # ⋮

def handlelogin(request):
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(request, username=username, password=password)
    if user is not None:
        authlogin(request, user)
        # Redirect to a success page.
        return redirect('')
    else:
        # Return an 'invalid login' error message
        return redirect('login')
Вернуться на верх