post()缺少3个必需的位置参数:“user”、“user_obj”和“code”

2024-10-03 11:14:58 发布

您现在位置:Python中文网/ 问答频道 /正文

class CodeAPIView(APIView):
   def post(self,request,user,user_obj,code):
    code2 = request.data['code']
    if code2 == code:
        AuthAPIView.login(self,request,user,user_obj)
    else:
        return Response("the code is wrong!")

这是我的观点,我得到了一个错误。我怎样才能修好它

这是我的全部观点

class AuthAPIView(APIView):

def post(self, request, format=None):
    data = request.data

    username = data.get('username', None)
    password = username

    user = authenticate(username=username, password=password)
    user_obj = User.objects.get(username=username)
    if user is not None:
        if user.is_active:
                code = random_code_generator()
                
            
                Code.objects.create(phone_number=user_obj,code=code)
                now = datetime.now()
                current_time = now.strftime("%H:%M:%S")
                
                hour = current_time.split(":")[0]

                minute = current_time.split(":")[1]
                send(str(username),code,int(hour),int(minute)+2)
                CodeAPIView.post(self,request,user,user_obj,code)
                return Response("done")



def login(self,request,user,user_obj,code):
    
    login(request, user)
    token = Token.objects.get(user=user)
    return Response(token.key)
    Code.objects.filter(phone_number=user_obj,code = code).delete()
   

   

class CodeAPIView(APIView):
def post(self,request,user,user_obj,code):
    code2 = request.data('code')
    
    if code2 == code:
        AuthAPIView.login(self,request,user,user_obj,code)
    else:
        return Response("the code is wrong!")

我试图给我的电话号码发送otp。我寄过去了。当我想输入它进行身份验证时,我使用CodeAPIView。它需要一些从AuthAPIView接收到的数据


Tags: selfobjdatareturnifrequestdefusername