Ошибка в методе login(request, user) при регистрации через django-rest-framework
Пытаюсь пройти регистрацию пользователя использую rest_framework.
Посылаю на контроллер запрос указываю логин и пароль, пользователь найден
user = authenticate(request, username=usermame, password=password) - Ок
но в методе все стопорится
login(request, user)
и я получаю ошибку
AssertionError: The request argument must be an instance of django.http.HttpRequest, not django.contrib.auth.models.User.
не могу найти ответ
Сам контроллер
@api_view(['POST'])
def login (request):
if request.method=='POST':
usermame = request.POST.get('login')
password = request.POST.get('password')
user = authenticate(request, username=usermame, password=password)
active = False
if user is not None:
login(request, user)
active = True
return JsonResponse({'active': active, 'usermame': usermame, 'password': password, }, safe=False)
else:
return JsonResponse({'active': active, 'usermame': '', 'password': '', 'err': 'Пользователь не существует'}, safe=False)
я перечитал кучу статей не могу понят, что нужно сделать в моем случае
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
# 'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
]
}