如何从Django表单文件字段提取文件对象

如何从Django表单文件字段提取文件对象,django,django-models,django-forms,django-file-upload,Django,Django Models,Django Forms,Django File Upload,我已经创建了一个带有字段的模型表单,标题,文件和内容。这里的文件是一个文件字段()。但是由于某些原因,我无法调用此表单的save()方法。因此,我必须创建一个模型对象,并为该对象指定清理后的值。除了那个文件字段,一切都正常。文件未保存。我怎样才能解决这个问题?提取文件字段的方法正确吗 形式 Views.py form = TestForm(request.POST,request.FILES) if form.is_valid(): content = form.cleaned_d

我已经创建了一个带有字段的模型表单,
标题
文件
内容
。这里的
文件
是一个文件字段()。但是由于某些原因,我无法调用此表单的
save()
方法。因此,我必须创建一个模型对象,并为该对象指定清理后的值。除了那个文件字段,一切都正常。文件未保存。我怎样才能解决这个问题?提取文件字段的方法正确吗

形式

Views.py

 form = TestForm(request.POST,request.FILES)
 if form.is_valid():
     content = form.cleaned_data['content']
     file = form.cleaned_data['file']
     title = form.cleaned_data['title']
     fax = Fax()
     fax.title = title
     fax.file = file
     fax.content = content
     fax.save()
这里没有保存文件。我怎样才能解决这个问题? 任何帮助都将不胜感激

我想你可以用

request.FILES['file']
为了获取文件对象

您是否在表单中使用了
enctype=“multipart/form data”

代码似乎很好。

请使用这种类型的验证。这可能有用

if request.method == 'POST':
    form = ModelFormWithFileField(request.POST, request.FILES)
    if form.is_valid():
        # file is saved
        form.save()
        return HttpResponseRedirect('/success/url/')``

使用request.FILES['file'],而不是form.cleaned_data['file']——查看为什么不能调用表单上的save方法?这应该是正确的方法。@super9这是因为我用它创建了多个对象。代码中有一个循环,我省略了对它的简单描述
if request.method == 'POST':
    form = ModelFormWithFileField(request.POST, request.FILES)
    if form.is_valid():
        # file is saved
        form.save()
        return HttpResponseRedirect('/success/url/')``