python - 上传内容为空的文件

标签 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>

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

最佳答案

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

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

关于python - 上传内容为空的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27645627/

相关文章:

python - 查找每列中的字母数

python - 无法在win10上的python 3.4中安装io模块

python - 根据两列拆分数据框并对子组应用一些操作

python - 可以在 wsgi 应用程序中生成线程吗?

python - 对 Django 的 Ajax 调用发送电子邮件没有响应

python - 使用Python将单反斜杠替换为双反斜杠

python - 在 Python 中使用 AES GCM 解密加密消息

python - 在 Django/Gunicorn 应用程序中拥有持久(非守护进程)线程的危险?

python - 如何解决在manage.py上运行sudo导致连接PSQL失败的问题?

python - 如何将代码升级到Django 2或在Django 1.9中使用类似 "path"的东西?