2016-09-04 26 views
7

i auth buid, django auth.login() yukarıda hata 500TypeError: giriş() 1 konumsal argüman alır, ancak 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) 

cevap

22

o hata kodu ile benim kodu verir kullanarak giriş görünümü yazdım verildi Görünümünüz, kimlik giriş işleviyle aynı ada sahip, bu yüzden onu gizliyor. Görünüm adını değiştirin veya işlevi farklı bir ad altında içe aktarın, örneğin from django.contrib.auth import login as auth_login.

+0

Çok teşekkür ederim –

+0

Bu güzel bir vuruş! – abcdn