Django 表单有 file 字段和 clean_file 方法。
class UploadFileForm(forms.Form):
file = forms.FileField()
def clean_file(self):
...
还有一个名为“应用”的按钮
我想在选择文件时验证该文件,如果验证成功,我将单击“应用”按钮,该按钮将发送带有此文件的发布请求。
但我不明白如何在提交文件之前验证文件,或者我应该使用表单到表单中。
或者它将有两种形式,但是如何在它们之间扔一个文件
我使用的策略是暂时保存文件,以便它在请求之间持续存在。假设您提到的验证是手动的,例如在通过“应用”按钮提交到数据库之前预览文件内容,那么这种方法涉及两个单独的请求。
该过程类似于:
initial
对象的 Form
属性/参数从文件内容读取的数据填充表单。如果您的验证过程是自动化的,则 HTTP 请求/响应的无状态性质仍然是关键概念。如果您不将文件保留在内存之外,那么一旦验证向浏览器发出 HTTP 响应,该文件就会基本上消失。