为什么此表单返回为无效(上传文本文件)

时间:2017-01-31 04:42:36

标签: django django-forms

我正在尝试开发一个最小的文本文件上传示例。这就是我 目前有。每当我使用选定的文件提交表单时,其验证都会失败。

这是表格

class UploadFileForm(forms.Form):
    file = forms.FileField()

这是视图

def add_view(self, request, form_url='', extra_context=None):
        if request.method == 'POST':
            form = UploadFileForm(request.POST)
            if form.is_valid():
                file = form.cleaned_data["file"]
                .....
                .....
        else:
            form = UploadFileForm()
        return render(request, 'upload.html', {'form': form})

这是模板:upload.html

<form  method="post" enctype="multipart/form-data">
                        {% csrf_token %}
                        {{ form|crispy }}
                        <input type="submit" value="Submit" />
</form>

我知道有几个例子,但是我想知道我的代码可能有什么问题。每当我提交文件时,表单验证都会失败。

1 个答案:

答案 0 :(得分:4)

由于您在表单中使用FileField,因此必须有一个request.FILES来从表单中获取文件。

form = UploadFileForm(request.POST,request.FILES)