def post(self, request): # 对加密的请求数据进行解密 try: requestData = crypto_aes().decrypt_text( request.data["requestData"]) requestData_obj = json.loads(requestData) except KeyError: return Response(response.CRYPTO_AES_ERROR) try: username = requestData_obj["username"] password = requestData_obj["password"] email = requestData_obj["email"] except KeyError: return Response(response.KEY_MISS) if models.UserInfo.objects.filter(username=username).first(): return Response(response.REGISTER_USERNAME_EXIST) if models.UserInfo.objects.filter(email=email).first(): return Response(response.REGISTER_EMAIL_EXIST) # 此处需要将解密后的用户名及邮箱,加密后的密码存到数据库表中 requestData_obj["password"] = make_password(password) serializer = serializers.UserInfoSerializer(data=requestData_obj) if serializer.is_valid(): serializer.save() return Response(response.REGISTER_SUCCESS) else: return Response(response.SYSTEM_ERROR)
def post(self, request): try: username = request.data["username"] password = request.data["password"] email = request.data["email"] except KeyError: return Response(response.KEY_MISS) if models.UserInfo.objects.filter(username=username).first(): return Response(response.REGISTER_USERNAME_EXIST) if models.UserInfo.objects.filter(email=email).first(): return Response(response.REGISTER_EMAIL_EXIST) # 此处采用django自带的方法来加密 request.data["password"] = make_password(password) print(type(request.data["password"])) serializer = serializers.UserInfoSerializer(data=request.data) print(type(serializer)) print(serializer.is_valid()) if serializer.is_valid(): serializer.save() return Response(response.REGISTER_SUCCESS) else: return Response(response.SYSTEM_ERROR)