我正在尝试使用POST / FILE请求中的数据填充Django formset。我可以填充除FileField之外的所有字段。似乎initial
不能用于将request.FILE传递给FormSet创建函数。我的问题是如何将FILE传递给FormSet。
model.py
class ArticleForm(forms.Form):
docfile = forms.FileField()
subject = forms.Charfield(max_length=128)
ArticleFormSet = formset_factory(ArticleForm, extra=2)
views.py
formset = ArticleFormSet(request.POST, request.FILE)
#do some other work, and then re-display the POST data
data = formset.cleaned_data
formset = ArticleFormSet(initial=data)
return render_to_response('some.html',
{'formset':formset}
)
答案 0 :(得分:2)
您无法将初始数据传递到文件字段。
当浏览器呈现时,<input type="file" />
将始终为空。
要将request.FILES
传递给formset,只需将其指定为POST后的第二个参数。
http://docs.djangoproject.com/en/dev/topics/forms/formsets/#using-a-formset-in-views-and-templates
FormSet(request.POST, request.FILES)
答案 1 :(得分:0)
使用文件上传时,无法传递任何初始值。