Загрузить изображение в Django Rest - PullRequest
0 голосов
/ 19 апреля 2019

Хочу сохранить изображение в бэкэнде django, но выдает ошибку:

"non_field_errors": [ «Неверные данные. Ожидается словарь, но есть кортеж». ]

Я использую django rest framework, когда пытаюсь сохранить изображение и ввод данных в формате json, это дает мне ошибки, не связанные с полями. Ниже приведен формат, в котором я даю данные

Формат данных JSON {

    "title": "Open cv detection",
    "description": "abc",
    "main_image": "watch2.PNG",
    "videourl": null,
    "project_rank": 1,
    "category": 1
}

Здесь основное изображение - это изображение, которое я хочу загрузить. Я думаю, что я использую неправильный способ указать путь к изображению, может кто-нибудь подсказать, как правильно задать или загрузить изображение в формате json

Views.py:

 class CreateProject(APIView):

   def get(self,request):

    return Response(ProjectCreateSerializer(project).data for project in Project.objects.all())

   def post(self,request):

    payload=(request.data,request.FILES)
    serializer=ProjectCreateSerializer(data=payload)

    if serializer.is_valid():

        serializer.save()
        return Response(serializer.data,status=status.HTTP_201_CREATED)
    return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)

Serializer.py

class ProjectCreateSerializer(serializers.ModelSerializer):

class Meta:
    model = Project
    fields = '__all__'

def create(self, validated_data):
    project = Project.objects.create(**validated_data)
    return project

def update(self, instance, validated_data):
    for k, v in validated_data.items():
        setattr(instance, k, v)
        instance.save()
    return instance
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...