Попытка сделать довольно простой проект, где я могу загрузить несколько изображений на свой сервер с помощью всего лишь нескольких других полей. Я пытался подписаться на этот пост , но не смог ничего найти. Я знаю, что мне нужно разбить мои модели на две части с помощью PostImage, имеющего ForeignKey, который относится к Post. И я знаю, что мне нужно будет изменить сериализатор, чтобы разрешить массив файлов изображений. Любая помощь будет принята с благодарностью.
models.py:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length = 100)
content = models.TextField()
image = models.ImageField(upload_to='post_images')
def __str__(self):
return self.title
serializers.py:
from rest_framework import serializers
from .models import Post
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = '__all__'
views.py:
from django.shortcuts import render
# Create your views here.
from .serializers import PostSerializer
from .models import Post
from rest_framework.views import APIView
from rest_framework.parsers import MultiPartParser, FormParser
from rest_framework.response import Response
from rest_framework import status
# Create your views here.
class PostView(APIView):
parser_classes = (MultiPartParser, FormParser)
def get(self, request, *args, **kwargs):
posts = Post.objects.all()
serializer = PostSerializer(posts, many=True)
return Response(serializer.data)
def post(self, request, *args, **kwargs):
posts_serializer = PostSerializer(data=request.data)
if posts_serializer.is_valid():
posts_serializer.save()
return Response(posts_serializer.data, status=status.HTTP_201_CREATED)
else:
print('error', posts_serializer.errors)
return Response(posts_serializer.errors, status=status.HTTP_400_BAD_REQUEST)