django admin上传了文件处理

时间:2011-04-30 01:52:24

标签: django fieldset filefield

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

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

有什么想法?感谢

1 个答案:

答案 0 :(得分:1)

我能用有限的知识思考两种解决方案。因为默认情况下,文件上载只会在发布请求后启动,因此需要设计另一种方法。

<强> 1。通过脚本上传文件并处理文件:使用脚本(例如:JQuery script)上传文件,上传完成后,触发脚本(onComplete事件)将值呈现为read-唯一的领域。 FileField更改后,整个过程可以与“过程”按钮或延时触发相关联。

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

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