首页 > 解决方案 > 在 djangorestframework 中上传图片

问题描述

如何在 Django 中上传图片?如果我现在要上传我的图片,我必须先将图片带到媒体文件夹,然后输入图片的名称以将图片包含在 API 中,但我想添加图片,而不是那样我想上传图片。

这是我的models.py

   class Project(models.Model):
       title = models.CharField(max_length=300)
       body = models.TextField(max_length=5000)
       header_image = models.ImageField(default="default.jpg")
       demo = models.URLField(null=True, blank=True)
       code = models.URLField(null=True, blank=True)

这是我的看法:

@api_view(["POST"])
def addProject(request):
    data = request.data
    project = Project.objects.create(
    title=data["title"],
    body=data["body"],
    header_image=data["header_image"],
    demo=data["demo"],
    code=data["code"],
    )
    serializer = ProjectSerializer(project, many=False)
    return Response(serializer.data)

这是我的序列化程序:

class ProjectSerializer(serializers.ModelSerializer):
comments = serializers.SerializerMethodField()

class Meta:
    model = Project
    fields = '__all__'

    def get_comments(self, obj):
        comment = obj.comments.all()
        serializer = CommentSerializer(comment, many=True)
        return serializer.data

如何在 API 中上传我的图像,而无需手动拖动媒体文件夹中的文件夹并输入图像文件名?

标签: django-rest-framework

解决方案


推荐阅读