Python 表单验证失败且用户重新提交表单时,Flask WTF文件内容丢失

Python 表单验证失败且用户重新提交表单时,Flask WTF文件内容丢失,python,flask,flask-wtforms,Python,Flask,Flask Wtforms,我遇到一个问题,当用户重新提交表单时,通过文件字段上传的文件的内容丢失。我猜简单的答案是强迫用户重新上传文件,但是我想知道是否有一种解决方法可以避免用户重新上传 正如@dirn所说,这就是文件上传的本质。你有两个选择来解决这个问题 在提示用户修复输入错误(如@dirn所建议)时,暂时保存上载的文件(特别是如果文件较大)。这需要额外的逻辑来清除文件(假设用户决定不再提交表单或转到其他页面等) 使用javascript验证表单,以便仅在表单实际有效时上载文件(wtforms在使用此选项时并没有多大帮

我遇到一个问题,当用户重新提交表单时,通过文件字段上传的文件的内容丢失。我猜简单的答案是强迫用户重新上传文件,但是我想知道是否有一种解决方法可以避免用户重新上传

正如@dirn所说,这就是文件上传的本质。你有两个选择来解决这个问题

  • 在提示用户修复输入错误(如@dirn所建议)时,暂时保存上载的文件(特别是如果文件较大)。这需要额外的逻辑来清除文件(假设用户决定不再提交表单或转到其他页面等)
  • 使用javascript验证表单,以便仅在表单实际有效时上载文件(wtforms在使用此选项时并没有多大帮助)

  • 正如@dirn所说,这就是文件上传的本质。你有两个选择来解决这个问题

  • 在提示用户修复输入错误(如@dirn所建议)时,暂时保存上载的文件(特别是如果文件较大)。这需要额外的逻辑来清除文件(假设用户决定不再提交表单或转到其他页面等)
  • 使用javascript验证表单,以便仅在表单实际有效时上载文件(wtforms在使用此选项时并没有多大帮助)

  • 这就是浏览器处理文件上传的方式。唯一的解决方法是保存文件,不管表单是否验证。这就是浏览器处理文件上传的方式。唯一的解决方法是保存文件,不管表单是否验证。这就是浏览器处理文件上传的方式。唯一的解决方法是保存文件,不管表单是否验证。我开始认为这就是功能。这些文件很小,所以用户再次上传也没什么大不了的。我已经让WTForms在服务器端处理验证,所以这不值得转移到客户端验证。感谢大家的肯定。我开始认为这就是功能。这些文件很小,所以用户再次上传也没什么大不了的。我已经让WTForms在服务器端处理验证,所以这不值得转移到客户端验证。感谢大家的肯定。我开始认为这就是功能。这些文件很小,所以用户再次上传也没什么大不了的。我已经让WTForms在服务器端处理验证,所以这不值得转移到客户端验证。谢谢大家的肯定。