我已经做了一段时间了。我正在尝试建立一个列表站点,在这里用户可以上传多个图片,并且可以上传的图片数量有限,到目前为止this package似乎非常适合我的用例。我确实需要创建一个fork来让它与较新版本的django一起工作,我在def render中的field.py的第23行添加了renderer=None。它修复了错误并允许我查看表单,但在提交时,我得到一个“list”对象没有属性“name”错误。我用this answer来达到这一点。任何帮助都将不胜感激
型号.py
class Listing(models.Model):
description = mdoels.TextField(blank=True)
track_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
class Photo(models.Model):
listing = models.ForeignKey(Listing, on_delete=models.CASCADE)
file=models.FileField(upload_to='images', verbose_name = 'Photos')
表单.py
class ListingForm(forms.ModelForm):
photos = MultiImageField(min_num=1, max_num=4)
class Meta:
model = Listing
fields = ['description',]
def save(self, commit=True):
photos = self.cleaned_data('photos')
instance = Super(ListingForm, self).save(commit)
for each in photos:
Photo.objects.create(file = each, listing = instance)
return instance
视图.py
class AddForm(CreateView):
model = Listing
template_name = 'marketplace/listing_create.html'
form_class = ListingForm
success_url = 'index'
def form_valid(self, form):
instance = form.save(commit = False)
instance.user = self.request.user
instance.save()
return super(AddForm, self).form_valid(form)
目前没有回答
相关问题 更多 >
编程相关推荐