0

我正在使用 Ajax 代码上传文件。Django 很好地处理了 ModelForms 上的文件上传。只需编写 form.save() 即可在标题中上传任何文件数据,在需要时管理创建文件夹,甚至在已存在重复文件时重命名文件。以这个只有一个名为 file 的 ModelForm 为例:

class UploadFileForm(ModelForm):
    class Meta:
        model = MyModel
        fields = ('file',)

因为我使用的是 Ajax,所以我认为唯一的信息是 request.FILES['file']。在我看来,这是我尝试过的:

 form = UploadFileForm(initial={'file':request.FILES['file']})
 if form.is_valid():
     form.save()

但它返回一个无效的形式(文件是必需的)。我可以使用纯 Python 来做到这一点,但是借助 Django 的强大功能,那有什么意义呢?

4

1 回答 1

0
form = UploadFileForm(request.FILES)
if form.is_valid():
    form.save()

初始参数让你初始化表单域,比如给一个新的表单提交一些初始数据。

在这里,您从请求中获取文件数据。

于 2010-09-18T08:45:12.253 回答