1

我是 django-rest-framework 的新手。我正在使用 DRF 和 drf-yasg Swagger。任何机构都可以帮助从请求主体上传图片吗?我无法从请求正文上传图片。我当前的view.py:

@swagger_auto_schema(method='post', request_body=MySerializer)
@api_view(['POST'])
def image(request):
    profile_img = request.FILES.get('profile_img', '')
    cover_img = request.FILES.get('cover_img', '')
    ...
    pass

my_serializer.py:

class MySerializer(serializers.Serializer):
    profile_img = serializers.ImageField()
    profile_img = serializers.ImageField()

任何人都可以解释这个问题吗?

4

2 回答 2

0

在您的视图函数中设置FormParser类为,

from rest_framework.parsers import FormParser
from rest_framework.decorators import parser_classes


@swagger_auto_schema(method='post', request_body=MySerializer)
@api_view(['POST'])
@parser_classes((FormParser,))
def image(request):
    profile_img = request.FILES.get('profile_img', '')
    cover_img = request.FILES.get('cover_img', '')
于 2021-05-04T16:54:44.827 回答
0

像使用MultiPartParse图像一样使用。

from rest_framework.parsers import MultiPartParser
from rest_framework.decorators import parser_classes

@parser_classes((MultiPartParser,))
def image(request):
    profile_img = request.FILES.get('profile_img', '')
    cover_img = request.FILES.get('cover_img', '')
于 2021-10-05T06:50:21.523 回答