django login需要1个参数而不是2个

时间:2013-12-08 15:03:38

标签: django login arguments

我在尝试使用'login()'

时遇到此错误
login() takes exactly 1 argument (2 given)

现在我使用它来处理我的用户登录,我很确定它在复制之前有效。现在它告诉我除了1之外我给出2个参数。

我的登录视图:

def login(request):
    """Logs a user into the application."""

    auth_form = AuthenticationForm(None, request.POST or None)
    # The form itself handles authentication and checking to make sure passowrd and such are supplied.
    if auth_form.is_valid():
        login(request, auth_form.get_user())
        return HttpResponseRedirect(reverse('index'))

    return render(request, 'login.html', {'auth_form': auth_form})

不知道我做错了什么。

1 个答案:

答案 0 :(得分:2)

您使用相同名称login作为视图名称;这会影响你想要调用的功能。

为视图使用其他名称。

或以合格的形式致电login函数:

django.contrib.auth.login(request, auth_form.get_user())