这是我的模板:
<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>
我确信我已经上传了一个文件,但它只是文件的空内容。发生了什么事?
答案 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
)