2016-09-04 18 views
7

tôi đã viết một cái nhìn đăng nhập bằng buid trong auth, django auth.login() cung cấp cho trên mã lỗi của tôi với mã lỗi o 500Lỗi Loại: đăng nhập() mất 1 lập luận vị trí nhưng 2 được trao

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) 

Trả lời

22

Chế độ xem của bạn có cùng tên với chức năng đăng nhập auth, vì vậy nó đang ẩn nó. Thay đổi tên chế độ xem hoặc nhập hàm theo một tên khác, ví dụ: from django.contrib.auth import login as auth_login.

+0

cảm ơn bạn rất nhiều –

+0

Đó là một hit tốt đẹp! – abcdn

Các vấn đề liên quan