我正在尝试使用 DRF 上传图片:
我有简单的序列化器:
class ImageSerializer(serializers.ModelSerializer):
class Meta:
model = Image
fields = ('file',)
这个 file
字段在我的模型中是简单的 ImageField
。
然后我创建了 View 集:
class ImagesViewSet(ModelViewSet):
serializer_class = ImageSerializer
queryset = Image.objects.all()
permission_classes = (IsAuthenticated,)
parser_classes = (MultiPartParser, FormParser)
@action(methods=['post'], detail=False,
permission_classes=[IsAuthenticated])
def upload_avatar(self, request):
print(request.data)
return Response({"image": "ok"})
我只想打印我要上传的内容。
请求上传数据后:
我的查询字典返回我:
<QueryDict: {}>
是bug吗?还是我错过了什么?
DRF 版本:3.8.2
Django :2.0.6
最佳答案
可能是 postman 的 bug。在发送请求之前尝试从 postman 的请求 header 中删除 Content-Type
。
有时 postman 没有设置正确的标题(内容类型)。这可能是问题所在。
关于python - Django Rest Framework,使用MultiPartParser时Query Dict为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51001598/