我有一些使用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/