I had "login() missing 1 required positional argument: 'user'" error and its not actually missing

Viewed 648

I checked every login func but im still having that error.

I'll leave my codes below

My views.py codes:

def loginUser(request):

    form = LoginForm(request.POST or None)

    context = {

        "form":form

    }

    if form.is_valid():
    
        username = form.cleaned_data.get("username")
        password = form.cleaned_data.get("password")

        user = authenticate(username=username, password=password)

        if user is None:

            messages.warning(request, "Kullanıcı Adı veya Parola Bilgileriniz Hatalı!")
            return render(request, "login.html", context)

        login(user)
        return redirect("index")

    return render(request, "login.html", context)

My urls.py codes:

urlpatterns = [
    path('register/', register, name= "register"),
    path('login/', loginUser, name= "loginUser"),
    path('logout/', logoutUser, name="logoutUser"),

]

I can't see a problem about coding all that references are matching. I restarted the server many times and it didn't solve. I can't understand that.

1 Answers

The correct usage for login is:

login(request, user)

So you need to pass request.

Related