Я новичок в DRF, я создаю простой API, зависит от официальной документации, все работает хорошо, но когда я хочу загрузить IMG-файл, request.data пусто
request.data = ----> <QueryDict: {}>
, так что если кто-нибудьможет помочь
угловая* views.py
class ProfileViewSet(viewsets.ModelViewSet):
serializer_class = ProfileSerializer
queryset = Profile.objects.all()
@decorators.action(
detail=True,
methods=['PUT'],
serializer_class=ProfilePicSerializer,
parser_classes=(MultiPartParser,)
)
def pic(self, request, pk):
print ('request.data = ----> ',request.data)
obj = self.get_object()
print(obj)
serializer = self.serializer_class(obj, data=request.data,
partial=True)
if serializer.is_valid():
serializer.save()
return response.Response(serializer.data)
return response.Response(serializer.errors,
status.HTTP_400_BAD_REQUEST)
serializers.py
class ProfileSerializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields = ['name', 'bio', 'pic']
read_only_fields = ['pic']
class ProfilePicSerializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields = ['pic']
settings.py
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',),
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',
),
'DEFAULT_PARSER_CLASSES': (
# 'rest_framework.parsers.JSONParser',
# 'rest_framework.parsers.FileUploadParser',
# 'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
),
}
или если есть другой способ проще, чем мне просто нужноЛюбой способ загрузить изображение, я новичок в программировании, спасибо