【问题标题】:store several images in the file system and all the references in the database将多个图像存储在文件系统中,并将所有引用存储在数据库中
【发布时间】:2019-04-17 21:03:24
【问题描述】:

我在表单和模型中使用ImageField 字段来上传图片,但我需要多张图片,并且只在数据库中存储一张图片和一张参考,这是我的代码:

#models.py
class mymodel(models.Model):
    imgs = models.ImageField(upload_to='uploads/%Y/%m/')

#forms.py
class myform(forms.Form):
    imgs = forms.ImageField(widget=forms.ClearableFileInput(attrs={'id': 'file', 'accept': 'image/*', 'multiple': True}))

#views.py
def myview(request):
    if request.method == 'POST':
        form = myform(request.POST, request.FILES)
            if form.is_valid():
                modelo = mymodel()
                modelo.imgs = form.cleaned_data.get('imgs')
                modelo.save()

当我这样做时,即使我选择 5,也只存储一张图像,并且在数据库中只存储所存储图像的路径

如何将 5 个图像存储在磁盘上,并在一个寄存器中的数据库中存储 5 个图像的引用,使用类似“,”来分隔

对不起,我的英语不好,如果您需要更多信息,请询问我

【问题讨论】:

    标签: django python-2.7 django-models django-forms django-views


    【解决方案1】:

    mymodel.imgs 是一个只支持单个字段的 ImageField。您可以尝试使用ArrayField(如果您的数据库使用postgres),其中子字段是ImageField。或者您需要使用form factory

    【讨论】:

    • 我只输入了一个字段,但使用multiple 属性接受多张图片
    猜你喜欢
    • 2012-06-26
    • 2014-05-04
    • 2011-05-31
    • 2014-03-28
    • 2011-01-04
    • 2010-10-20
    • 2011-10-19
    • 2021-05-31
    • 1970-01-01
    相关资源
    最近更新 更多