图片:成功上传Django时无



在成功上传图像时,我得到了图像urlNone,我希望得到我发送到服务器的图像url,但我得到的却是None
如有任何帮助,不胜感激。事先非常感谢。

serializers.py

class BulkImageSerializer(ModelSerializer):
image1 = ImageField(required=True)
image2 = ImageField(required=False)
user_id = CharField(read_only=True)
class Meta:
model = BulkImage
fields = "__all__"
def create(self, validated_data):
image1 = validated_data['image1']
image2 = validated_data['image2']
validated_data['user_id'] = User.objects.get(email=self.context['request'].user.email)
img_obj = BulkImage.objects.create(
image1 = image1,
image2 = image2 if image2 else None,
user_id = validated_data['user_id']
)
return validated_data

views.py


class BulkImageAPIView(APIView):
permission_classes = (IsAuthenticated,)
def post(self,request,*args,**kwargs):
user = request.user
data           = request.data
serializer =  BulkImageSerializer(data=data, context = {'request': request})
if serializer.is_valid():
serializer.save()
return Response({
'message' : 'Image upload successfully',
'data' : serializer.data,
},status=200)
return Response(serializer.errors,status=400)

输出:

{
"message": "Image upload successfully",
"data": {
"image1": null,
"image2": null,
"user_id": "employee01gmailcom"
},
}

我使用ModelViewSet,我想也许它能工作。

serializers.py

class BulkImageSerializer(ModelSerializer):
class Meta:
model = BulkImage
fields = "__all__"

views.py

class BulkImageAPIView(viewsets.ModelViewSet):
queryset = BulkImage.objects.all()
serializer_class = BulkImageSerializer
permission_classes = [IsAuthenticated]

最新更新