【问题标题】:django admin uploaded file processingdjango admin上传文件处理
【发布时间】:2011-08-15 21:16:01
【问题描述】:

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

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

有什么想法吗?谢谢

【问题讨论】:

    标签: django fieldset filefield


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢康斯坦特的选项。我似乎更喜欢第二个,因为它里面的 Django 比外面的东西多。实际上会尝试实现类似的东西,看看结果如何。
    • 当然,让我知道。顺便说一句,我认为form wizard 也可以使用。 Here 是关于使用表单向导在表单之间传递数据的有趣之处。只是我现在想到的另一种选择。
    • 很好的建议。我什至找到了一个很好的页面来说明这一点。 elo80ka.wordpress.com/2009/10/28/… 因为我想在我的管理页面中使用它。覆盖管理模板以在提交之前包含上传文件的处理步骤是另一种选择。
    猜你喜欢
    • 2011-09-16
    • 2012-05-20
    • 2014-04-29
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    相关资源
    最近更新 更多