我正在尝试使用 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
姜戈:2.0.6
最佳答案
这可能是 postman 的错误。在发送请求之前,尝试从 postman 的请求头中删除 Content-Type
。
有时 postman 没有设置正确的标题(内容类型)。这可能是问题所在。
关于python - Django Rest Framework,使用 MultiPartParser 时查询字典为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51001598/