我在下面给出了我的代码。它有一个图像区域。我正在使用django表单和自定义模板来填充和存储此信息。我希望允许用户根据自己的意愿为每本书上传0到10张图片。那么我该怎样才能实现它。我的要求如下:
models.py
class Book(models.Model):
title = models.CharField(max_length = 200)
author = models.CharField(max_length = 200)
cost = models.IntegerField()
description = models.TextField()
image = models.ImageField(upload_to = 'images/books/', null = True, blank = True)
forms.py
class BookForm(forms.ModelForm):
class Meta:
model = Book
widgets = {
'location' : forms.TextInput(attrs={'placeholder': 'Location'}),
'title' : forms.TextInput(attrs={'placeholder': 'Title'}),
'author' : forms.TextInput(attrs={'placeholder': 'Author'}),
'cost' : forms.TextInput(attrs={'placeholder': 'Price'}),
'description': forms.Textarea(attrs={'placeholder': 'Description'}),
}
在提出此问题之前,我尝试了Garmoncheg django_multiuploader和Scompt multifile widget。但他们都没有帮助我。过去两天我正在从事这项工作,但无法让它发挥作用。所以请建议我成功完成这项任务的方法。
答案 0 :(得分:1)
我要做的是将“图像”字段完全分成单独的模型,然后使用内联formset工厂为图书上传多个图像。
看一下formset documentation,我想你很快就会流行起来。希望能帮到你。