在Django中,如何通过错误返回文件输入后保留文件输入的值?

问题描述:

  • 假设有人提交表格。 (我完全使用Django的表单框架)
  • 表单经过我的models.py并且不能很好地验证。
  • 我将它们重定向回页面,并显示表单错误。
  • 所有的文本框都有它们的初始值,所以用户不必重新输入它们。但我的“选择文件”失去了它的价值!它没有选择文件。
  • 用户现在需要重新选择文件。这太糟糕了!

如果您单独验证文件,您可以在返回错误之前存储它,并向用户提供其上传已保存的指示(可选择允许他们选择上传另一个文件还是使用来自以前提交)。这是很多额外的内务管理,可以简化,但是不可避免的,因为,出于安全原因,浏览器不允许服务器预先选择<input type="file">的值。