2016-09-04 2 views
7

я написал вид входа в систему с помощью Buid в AUTH, Джанго auth.login() дает выше ошибки мой код с кодом ошибки O 500TypeError: Логин() занимает 1-позиционное аргумент, но 2 были даны

from rest_framework.response import Response 
from rest_framework import status 
from rest_framework.decorators import api_view 
from django.contrib.auth.models import User 
from django.contrib.auth import authenticate,logout,login 


@api_view(['POST']) 
def register(request): 
    user=User.objects.create_user(username=request.POST['username'],email=request.POST['email'],password=request.POST['password']) 
    return Response({'ok':'True'},status=status.HTTP_201_CREATED) 

@api_view(['POST']) 
def login(request): 
    user=authenticate(
     username=request.POST['username'], 
     password=request.POST['password'] 
    ) 
    if user is not None: 
     login(request,user) 
     return Response({'ok':'True'},status=status.HTTP_200_OK) 
    else: 
     return Response({'ok':'False'},status=status.HTTP_401_UNAUTHORIZED) 

ответ

22

У вашего представления есть то же имя, что и функция входа в систему, поэтому он скрывает его. Измените имя представления или импортируйте функцию под другим именем, например from django.contrib.auth import login as auth_login.

+0

Большое вам спасибо –

+0

Это приятный удар! – abcdn

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