BrowsableAirependerer hat kein Datei -Upload -FeldPython

Python-Programme
Anonymous
 BrowsableAirependerer hat kein Datei -Upload -Feld

Post by Anonymous »

Ich versuche, ein Bild -Upload -Feld im Bild zu haben, damit ich mehrere Bilder pro Beitrag hochladen kann. Es scheint jedoch, als ob es kein Feld zum Upload von Dateien gibt, geschweige denn, das mehrere Dateien zulässt und speichern würde. Br />

Code: Select all

class PostsViewSet(ModelViewSet):
queryset = Post.objects.all()
serializer_class = PostSerializer
permission_classes = [IsAuthenticated, IsOwnerOrReadOnly|IsAdminUser]
filter_backends = (filters.DjangoFilterBackend,)
filterset_class = PostFilter
parser_classes = [JSONParser, MultiPartParser, FileUploadParser]
renderer_classes = [JSONRenderer, BrowsableAPIRenderer]
Serializer.py

Code: Select all

class PostImageSerializer(serializers.ModelSerializer):
class Meta:
model = PostImage
fields = ('image',)

class PostSerializer(serializers.ModelSerializer):
author = UserSerializer(read_only=True)
comments = CommentSerializer(many=True, read_only=True, source='comment_set')
likes_count = serializers.SerializerMethodField()
images = PostImageSerializer(source='postimage_set', many=True, read_only=True)

class Meta:
model = Post
fields = "__all__"

def create(self, validated_data):
validated_data["author"] = self.context["request"].user
images_data = self.context.get('view').request.FILES
print(validated_data)
post = Post.objects.create(text=validated_data.get('text'), author=validated_data.get('author'))

for image_data in images_data.values():
PostImage.objects.create(post=post, image=image_data)
return post
< /code>
Models.py
class Post(models.Model):
id = models.AutoField(primary_key=True)
text = models.TextField(max_length=165)
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)

def __str__(self):
return f'{self.author} posts "{self.text}"'

class PostImage(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
image = models.ImageField(upload_to='images/', blank=True)
Und es sieht so aus. Cu8ipu5r.png " /> < /p>
Wo ist Fehler? < /P>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post