Django Rest Framework, Query Dict пуст при использовании MultiPartParser - PullRequest
0 голосов
/ 23 июня 2018

Я пытаюсь загрузить изображения с помощью DRF:

У меня есть простой сериализатор:

class ImageSerializer(serializers.ModelSerializer):
    class Meta:
        model = Image
        fields = ('file',)

Это file поле просто ImageField в моей модели.

Тогда я создал viewset:

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

My Query Dict возвращает меня:

<QueryDict: {}>

Это ошибка? Или я что-то пропустил?

Версия DRF: 3.8.2

Джанго: 2.0.6

Ответы [ 2 ]

0 голосов
/ 23 июня 2018

Это может быть ошибка почтальона.попытайтесь удалить Content-Type из заголовка запроса в почтальоне перед отправкой запроса.

Иногда почтальон не устанавливает правильный заголовок (тип содержимого). В этом может быть проблема.

0 голосов
/ 23 июня 2018

Как насчет запроса django. ФАЙЛЫ вместо request.data ??Django Docs Загрузка файлов говорит

Когда Django обрабатывает загрузку файла, данные файла в конечном итоге помещаются в запрос. ФАЙЛЫ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...