表单集有效,但返回空的cleaned_data字段



我有一个返回空cleaned_data的表单集,即使该表单集是有效的。我的观点是这样的:

def edit_files(request):
    file_formSet = formset_factory(FileUploadForm)
    if request.POST:
        formset = file_formSet(request.POST, request.FILES)
        if formset.is_valid():
            for form in formset:
                form_data = form.cleaned_data
                if form_data:
                    up_file = upload_file(form_data['file'])
    else:
        formset = file_formSet()
    return render_to_response('edit_files.html', {'formset': formset})

这是一个上传表单,由于这个问题,我无法保存文件upload_file是我实现的方法之一,它运行良好,我已经测试过了。

好的,我只想完成这个题目因此,如果有人遇到同样的问题,他/她可以使用此页面来解决此解决方案的主要关键是:1-永远不要忘记加密类型2-针对不同功能使用单独的表格

所以在模板中我应该使用:

<form method="POST" action="." encrypt="multipart/form-data">

并使用两个单独的表单来添加和删除文件像这样:这个用于添加文件:

<form method="POST" action="." encrypt="multipart/form-data" id="add_file">

这个用于删除文件:

<form method="POST" action="." encrypt="multipart/form-data" id="delete_file">

当我忘记在is_valid后面加括号()时,我遇到了同样的错误消息。Formset.is_valid返回了True,但由于没有调用is_valid()函数来返回已清理的数据,因此没有清理的数据。

我认为您需要更改以下行;

... snip ... 
for form in formset.forms:
    form_data = form.cleaned_data
... snip ...

您似乎缺少表单集中的.forms部分。

ok在使用了一些断点之后,我发现这实际上是请求的错,请求。FILES为空

tnx对于您的所有答案,我已经解决了问题,我有一个具有两个功能的表单:add_file和del_file我把他们分开后,一切都好了但是页面的外观有问题在我添加一些文件之后,比如3个文件,然后请求。POST已发送,我再次返回页面我实际上看到了三行文件输入,而不是一行它真的降低了美感有什么建议吗?

相关内容

  • 没有找到相关文章

最新更新