使用 Django 验证多个上传图像

Validate multiple upload images with django

我正在尝试使用带有 Django 的表单上传多张图片。我设法允许用户上传它们,但是当我验证表单时,我总是收到我需要上传图片的消息,但我可以看到 request.FILES 包含所有上传的图片。

这是我的表格:

class ProductForm(ModelForm):

    class Meta:
        model = models.Product
        fields = ['name', 'style', 'description', 'buy_url', 'price', 'currency', 'images']
        error_messages = {
            NON_FIELD_ERRORS: {
                'buy_url': "%(model_name)s's %(field_labels)s are not unique.",
            }
        }
        widgets = {
            'description': Textarea(attrs={'cols': 80, 'rows': 10}),
            'images': FileInput(attrs={'multiple': ''})
        }

这里是视图:

class CreateProductView(AuthenticatedUserView):
    template_name = 'myapp/product.html'

    def get_if_authenticated(self, request, user):
        form = ProductForm()
        return render(request, self.template_name, {"form": form})

    def post_if_authenticated(self, request, user):
        form = ProductForm(request.POST)
        if form.is_valid():
            product = form.save(commit=False)
            # Here do something with the images
            product.user = user
            product.save()
            return HttpResponseRedirect(reverse('myapp:actions'))

        return render(request, self.template_name, {"form": form})

我尝试添加方法 clean_images 但从未调用过。

如何才能成功验证 post 请求中的文件?

谢谢!

我撤销我的回答。我不想再支持这个网站了。