У меня возникла странная ошибка в django при попытке аутентификации моего пользователя.authenticate() получил неожиданный аргумент ключевого слова 'username'
вот код:
views.py
from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
from django.template import RequestContext
from django.core.context_processors import csrf
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth import authenticate, login
def authenticate(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
# Redirect to a success page.
else:
pass
# Return a 'disabled account' error message
else:
pass
# Return an 'invalid login' error message.
Она продолжает давать мне эту ошибку:
Environment:
Request Method: POST
Request URL: http://localhost:8000/authenticate/
Django Version: 1.6.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'neededform')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/usr/local/lib/python2.7/dist-packages/Django-1.6.1-py2.7.egg/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/jarvis/django/web/web/views.py" in authenticate
26. user = authenticate(username=str(username), password=password)
Exception Type: TypeError at /authenticate/
Exception Value: authenticate() got an unexpected keyword argument 'username'
Я не могу понять источник этой ошибки. кто-то сталкивается с той же проблемой?
Вы также вызвали функцию аутентификации (которая принимает запрос)? Измените имя так, чтобы оно не противоречило встроенному – JamesO