django admin 上传文件处理

标签 django fieldset filefield

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

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

有什么想法吗?谢谢

最佳答案

以我有限的知识,我可以想到两种解决方案。由于默认情况下,文件上传只会在请求发布后开始,因此需要设计另一种方式。
1.通过脚本上传文件并处理文件:使用脚本(例如: JQuery script )上传文件,上传完成后,触发脚本(onComplete 事件)将值呈现为只读字段。一旦 FileField 更改,整个过程可以与您的“处理”按钮或延时触发器相关联。
2 文件上传自定义表单:您可以分离文件字段和其他字段(您提到的只读字段)。如果您设计一个只有文件上传字段的自定义表单,并且一旦用户提交请求,您就可以在只读字段中呈现另一个具有呈现初始值的表单。这样你就不需要任何脚本,但你必须有 2 个表单。
希望这可以帮助。如果您找到任何其他解决方案,请分享它:)

关于django admin 上传文件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5838932/

相关文章:

django - 显示上传的(图像)文件的最简单方法?

python - 模板中使用的 Django URL 名称

python - 将一列添加到表 django

python - 如何使用 django "Rest Framwork"发送电子邮件?

javascript - html 字段集内部高度

html - 如何使 Fieldset 与其父级一样宽(匹配父级宽度)

Django 标签在 block 标签中返回数组

javascript - 通过选择显示下一个字段集

django - 如何根据Django中的字段名称更改ImageField的upload_to参数?

django - 保存 FileField 时似乎未使用 upload_to 属性