python - Django Rest Framework,使用MultiPartParser时Query Dict为空

标签 python django django-rest-framework

我正在尝试使用 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"})

我只想打印我要上传的内容。

请求上传数据后:

upload2

我的查询字典返回我:

<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/

相关文章:

python - Mxnet 元素明智乘法

python - 如何向 tkinter 标签添加左边框或右边框

python - 在数据框的整个列中应用正则表达式

python - 如何在 Python 3.3 和 Django 1.5 中使用 MySQL?

django - 如何配置 Django Rest Framework 以返回带有自定义文本的错误

python - Django rest 框架表示展平嵌套对象

Python:没有名为unittest的模块。我怎样才能解决这个问题?

django - 模型下一个可用的主键

python - Django 1.8 操作错误 : no such column:

django-rest-framework - 如何在 django-rest-framework 中设置 raw_id_fields?