Django - TypeError: put() missing 1 required positional argument: 'filename'

Я пытаюсь загрузить pdf файл или файл pickle через API, сделанный в Django, используя FileUploadParser. Однако, когда я делаю вызов API с помощью postman, используя метод put, я получаю следующую ошибку, даже используя правильный HTTP-заголовок:

TypeError: put () missing 1 required positional argument: 'filename'

Вот как выглядит мой заголовок и тело POSTMAN:

postman header postman body

views.py

views.py

urls.py

urls.py

Я исправил это, изменив class FileUploadView на код ниже, в порядке имени файла, который не требуется в параметрах:

class FileUploadView(APIView):
    parser_classes = (FileUploadParser,)

    def put(self, request):
        file = request.data.get('file', None)

        if file is not None:
            return Response(f'File: {file.name} successfully uploaded!', status=HTTP_200_OK)
        else:
            return Response(f'File not found!', status=HTTP_400_BAD_REQUEST)
Вернуться на верх