【问题标题】:How to upload multiple images Using django?如何使用 django 上传多张图片?
【发布时间】:2020-09-11 13:35:05
【问题描述】:

我的 models.py 中有以下代码

class MyModel(models.Model):
    my_images= models.ImageField(upload_to='image/')

我的 forms.py 是

class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = "__all__"

在我的 Views.py 文件中有以下代码

def myfunction(request):
    if request.method=='POST':
        form = MyForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponse('Data Inserted')
        else:
            return HttpResponse('form is invalid')

此代码将单个图像插入到数据库和目录中。我想将多个图像添加到我的目录和数据库中。我在这里制作 API,所以我从 postman 应用程序发送 formdata(image)。
如何上传多张图片?

【问题讨论】:

    标签: python django django-models django-rest-framework django-forms


    【解决方案1】:

    ImageField 只能存储一张图片。如果你需要上传多张图片,你应该创建单独的ImageModel:

    class MyModel(models.Model):
        pass
    
    class ImageModel(models.Model):
        model_fk = models.ForeignKey(MyModel)
        img = models.ImageField(upload_to='image/', related_name='images')
    

    将您的图像发送到一个列表中,然后在您的视图中读取该列表并为每个图像创建ImageModel 实例。

    【讨论】:

      猜你喜欢
      • 2021-02-27
      • 2017-09-09
      • 1970-01-01
      • 2022-08-24
      • 2020-12-05
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      相关资源
      最近更新 更多