我有一些使用FileField的django模型,并且用户已在管理界面中上传文件。现在,我们遇到了一些文件很大(1-3G)的问题,这使http上传变得棘手。

有一个“容器”类,然后是带有FK的"file"类到容器。我在admin gui中使用了内联,以使用户更轻松(容器类形式,带有文件类内联)

我已经找到FilePathField,我认为它对使用户将scp/rsync文件传输到服务器,然后浏览并向其添加详细信息很有用,但是如何在管理员中获取呢?我是否需要构建一个新的窗体/ View 来创建对象?有什么办法可以以自定义管理员形式覆盖模型(从而保留所有免费管理员权限),从而用filepathfield替换filefield?还有其他建议吗?

感谢您的任何建议!

最佳答案

您提到FilePathField可以工作,但是需要重新启动Web服务器才能查看新文件。发生这种情况是因为选项是收集的FilePathField.__init__,在导入模块时会调用一次。

解决方法是在表单的__init__中重新调用字段的__init__:

def __init__(self, **kwargs):
    super(MyForm, self).__init__(**kwargs)
    self.fields['file'].__init__(path)

(这样,每次实例化表单时都会扫描目录。)

关于django - Django FileField的替代上传方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1261300/

10-12 12:33
查看更多