#python #django #django-rest-framework #postman #django-serializer
#питон #джанго #django-rest-фреймворк #почтальон #джанго-сериализатор
Вопрос:
Я довольно новичок в этой области, поэтому постараюсь объяснить это как можно лучше.
Я пытаюсь загрузить два разных дополнительных файла (это означает, что их загружать не требуется), а также два дополнительных поля символов в качестве входных данных в одном и том же методе API.
Я могу лучше объяснить это, показав, что мое views.py, мой serializers.py это похоже и как бы я хотел иметь возможность ввести его в postman.
С помощью этого я могу загрузить файл, но после этого у меня будет обратная трассировка return None as HttpResponse
, потому что код не может продолжаться.
views.py
class FileUploadView(APIView): parser_classes = (FileUploadParser,) @swagger_auto_schema(request_body=FileSerializer, responses={ HTTP_200_OK: PostSuccessResponseSerializer, HTTP_400_BAD_REQUEST: PostErrorResponseSerializer } ) def post(self, request): # Upload two different OPTIONAL files file_1 = request.data.get('file_1', None) file_2 = request.data.get('file_2', None) # CharField optional inputs user_input = request.data.get('user_input') or '' foo_char = request.data.get('model_filename') or '' # Do something with the files ... # do something with the CharFields inputs ... return Response(f'Success!', status=HTTP_200_OK)
serializer.py
class FileSerializer(serializers.Serializer): file = serializers.FileField(allow_empty_file=False, use_url=False) user_input = serializers.CharField() foo_char = serializers.CharField()