2013-12-08 3 views
1

я получаю эту ошибку при попытке использовать «логин()»Джанго Войти принимает 1 аргументы вместо 2

login() takes exactly 1 argument (2 given) 

Теперь я использую это, чтобы справиться с моей Userlogin, и им довольно уверен, что он работал, прежде чем я скопировал Это. Тхо теперь он говорит мне, что я даю 2 аргумента, кроме 1.

мой взгляд входа:

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}) 

Dont есть какие-либо идеи, что им делать неправильно.

ответ

2

Вы используете то же имя login как имя для вида; это затеняет функцию, которую вы хотите вызвать.

Используйте другое имя для представления.

Или позвоните login функции квалифицированных форм:

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

Благодаря совершенно забыли о том, что сидели на этом какое-то время :) –

Смежные вопросы