上传包含空内容的文件

时间:2014-12-25 08:42:29

标签: python django

这是我的模板:

<p>Upload</p>
<form action="{% url upload_url %}" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    {{ upload_form.as_p }}
    <input type="submit" name="submit" value="Upload" />
</form>

这是我的表格:

class DocumentForm(forms.Form):
    docfile = forms.FileField(
        label='Select a file',
        help_text='you can upload file'
    )

这是我的代码:

form = DocumentForm(request.POST, request.FILES)
if form.is_valid():
    # do something

当我上传包含空内容的文件时,我会尝试检查错误原因。我明白了:

# form.is_valid()
False
# form.errors
<ul class="errorlist"><li>docfile<ul class="errorlist"><li>The subm
itted file is empty.</li></ul></li></ul>

我确信我已经上传了一个文件,但它只是文件的空内容。发生了什么事?

1 个答案:

答案 0 :(得分:2)

如果你想允许空文件设置allow_empty_file=True,这是FileField的默认行为:

class DocumentForm(forms.Form):
    docfile = forms.FileField(
        label='Select a file',
        help_text='you can upload file',
        allow_empty_file=True
    )