Загрузка файла Django-Rest-Framework - PullRequest
0 голосов
/ 28 октября 2019

Я использую Django Rest Framework для загрузки файла. Мой файл вида выглядит следующим образом:

class FileViewSet(viewsets.ModelViewSet):
    queryset = Files.objects.all()
    serializer_class = FilesSerializer
    #+++++++++++++++++++++++++++++++++++++
    parser_classes = (MultiPartParser, FormParser)

    def post(self, request, *args, **kwargs):
        serializer = FilesSerializer(data=request.data)
        if serializer.is_valid():
        serializer.save()
            return Response(serializer.data, status=HTTP_201_CREATED)
        else:
            return Response(serializer.error, status=HTTP_400_BAD_REQUEST)

Мой вид хорошо работает с загрузкой файла, даже если в комментарии нет нижней части. Так почему я должен использовать код под комментарием?

Я использовал переводчик. Пожалуйста, поймите, если есть ошибка.

1 Ответ

0 голосов
/ 28 октября 2019

Ваш код работает без функции post, потому что класс ModelViewSet (т. Е. Тот, который вы унаследовали в вашем FileViewSet) уже имеет реализации различных действий, таких как list (), create (), retrieve (), update() и т. д.

Поэтому, когда вы нажимаете на пост-запрос на загрузку файла, автоматически вызывается действие create (), которое сохраняет файл, принимая значения, предоставленные вами в переменных класса, таких как serializer_class, parser_classes и т. д.

Подробнее о ModelViewSet :

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