5

这就是我想要做的,到目前为止我在搜索中没有找到类似的东西。在我的管理页面中,我的模型中有一个 Filefield。其余字段都是只读的。我希望能够上传文件并立即处理它并从中提取信息以分配给这些只读字段。

我想为这个 FileField 覆盖 clean_(modelfield) 方法并在其中进行解析和分配内容。但这不是在文件上传后立即完成的,对吧?我认为这是在保存表单/条目时完成的。接下来,我想在此管理表单中添加一个名为“进程”的自定义按钮,文件上传后可以单击该按钮。这将触发将值分配给只读字段。但我无法决定什么是处理文件的最佳方法,并在一页中显示更新的字段,而无需过多修改。

有什么想法吗?谢谢

4

1 回答 1

1

以我有限的知识,我可以想到两种解决方案。由于默认情况下,文件上传只会在请求发布后开始,因此需要设计一种替代方式。

1. 通过脚本上传文件并处理文件:使用脚本(例如:JQuery 脚本)上传文件,一旦上传完成,触发脚本(onComplete 事件)将值呈现为只读字段。整个过程可以与您的“处理”按钮或 FileField 更改后的延时触发器相关联。

2 文件上传的自定义表单:您可以分离文件字段和其他字段(您提到的只读字段)。如果您设计了一个仅包含文件上传字段的自定义表单,并且一旦用户提交请求,您就可以在只读字段中呈现另一个具有呈现初始值的表单。这样你就不需要任何脚本,但你必须有 2 个表格。

希望这可以帮助。如果您找到任何其他解决方案,请分享它:)

于 2011-04-30T08:52:36.470 回答