def post(self, request, *args, **kwargs): password = request.DATA.get(KEY_PASSWORD) phone = request.DATA.get(KEY_USERNAME) username = User.get_username_by_phone(phone) serializer = UsernameLoginTokenSerializer(data=dict(username=username, password=password)) if not serializer.is_valid(): raise UserNameOrPasswordIncorrect user = serializer.object['user'] login_info = UserLoginSerializer(user).data token = serializer.object['token'] login_info[KEY_TOKEN] = token return Response(login_info)
def post(self, request, *args, **kwargs): self.verify(request) password = request.DATA.get(KEY_PASSWORD) phone = request.DATA.get(KEY_USERNAME) receiver = request.DATA.get(KEY_VERIFY_RECEIVER) if not phone == receiver: raise UserNameOrPasswordIncorrect username = User.generate_phone_username(phone) u = User.objects.create(username=username, phone=phone, source='phone', source_uid=phone, gender=MALE) u.set_password(password) serializer = UsernameLoginTokenSerializer(data=dict(username=username, password=password)) if not serializer.is_valid(): raise UserNameOrPasswordIncorrect user = serializer.object['user'] login_info = UserLoginSerializer(user).data token = serializer.object['token'] login_info[KEY_TOKEN] = token return Response(login_info)