私は組み込みの認証を使用してログインビューを作成しました、Django auth.login()は上記のエラーをエラーコードp 500で私のコードを与えます
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)
ビューには、認証ログイン関数と同じ名前があるため、非表示になっています。ビュー名を変更するか、from Django.contrib.auth import login as auth_login
などの別の名前で関数をインポートします。