2

我创建了一个带有字段、titlefile的ModelForm content。这file是一个 FileField()。save()但是由于某些原因,我无法调用此表单的方法。所以我必须手动创建一个模型对象并将清理后的值分配给该对象。除了那个 FileField 之外,一切都正常工作。该文件未保存。我怎样才能解决这个问题?提取FileField的方法是否正确?

形式

class TestForm(forms.ModelForm):
    class Meta:
        model = Test
        fields = ('title','file', 'content',)

视图.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()

这里文件没有保存。我怎样才能解决这个问题?任何帮助将不胜感激!

4

3 回答 3

6

你有没有enctype="multipart/form-data"在你的表格中使用过似乎代码很好。

于 2012-09-03T09:08:12.810 回答
2

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

if request.method == 'POST':
    form = ModelFormWithFileField(request.POST, request.FILES)
    if form.is_valid():
        # file is saved
        form.save()
        return HttpResponseRedirect('/success/url/')``
于 2012-10-09T06:39:11.297 回答
0

我认为你可以使用

request.FILES['file']

用于获取文件对象

于 2012-08-28T12:12:40.237 回答