【发布时间】:2012-08-22 22:27:57
【问题描述】:
我创建了一个 ModelForm,其中包含 title、file 和 content 字段。这里file 是一个 FileField()。但是由于某些原因,我无法调用此表单的save() 方法。所以我必须手动创建一个模型对象并将清理后的值分配给该对象。除了那个 FileField 之外,一切都正常工作。该文件未保存。我怎样才能解决这个问题?提取FileField的方法正确吗?
表格
class TestForm(forms.ModelForm):
class Meta:
model = Test
fields = ('title','file', 'content',)
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()
此处文件未保存。我怎样才能解决这个问题? 任何帮助将不胜感激!
【问题讨论】:
-
而不是 form.cleaned_data['file'],使用 request.FILES['file'] - 见docs.djangoproject.com/en/dev/topics/http/file-uploads/…
-
为什么不能在表单上调用save方法?应该是正确的方法。
-
@super9 因为我用它创建了多个对象。代码中有一个循环,为了方便描述我就省略了
标签: django django-models django-forms django-file-upload