2016-09-04 8 views
7

iはAUTHでBUID、ジャンゴauth.login()はエラーの上方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

Oエラーコードで自分のコードを与える使用してログイン・ビューを書かれている与えられましたあなたのビューはauth login関数と同じ名前なので、隠しています。ビュー名を変更するか、別の名前(例:from django.contrib.auth import login as auth_login)で関数をインポートします。

+0

ありがとうございました –

+0

これは素晴らしいヒットです! – abcdn

関連する問題