Неподдерживаемый тип носителя \ "application / x-www-form-urlencoded \" в запросе - PullRequest
1 голос
/ 04 октября 2019

Я использую ViewSets для модели профиля, но если я отправляю запрос в Почтальоне, я получаю следующую ошибку.

Unsupported media type \"application/x-www-form-urlencoded\" in request

Но у меня нет идеи Что я делаю неправильно.

class ProfileView(viewsets.ModelViewSet):
    queryset = Profile.objects.all()
    serializer_class = ProfileSerializer
    parser_classes = (MultiPartParser,)
    permission_classes = (IsOwnerOrAdmin,)

    def get_queryset(self):
        return super(ProfileView, self).get_queryset().filter(user=self.request.user)

    def get_object(self):
        qs = Profile.objects.filter(user=self.request.user).first()
        return qs

    def put(self, request):
        file = request.data['file']
        return Response(status=204)

Я также настроил в файле settings.py. Но я не могу решить это. Любая помощь будет оценена. Заранее спасибо

1 Ответ

1 голос
/ 04 октября 2019

Вы указали MultiPartParser в качестве парсера, поэтому вам нужно сделать правильный многочастный запрос. Вы можете сделать это, выбрав опцию «form-data» в Postman :

multipart/form-data - кодировка по умолчанию, которую веб-форма использует для передачи данных. Это имитирует заполнение формы на веб-сайте и ее отправку. Редактор данных формы позволяет вам устанавливать пары ключ-значение (используя редактор данных для ваших данных). Он также позволяет вам указать тип содержимого для каждой части запроса формы из нескольких частей в отдельности. Вы также можете прикрепить файлы к ключу.

...