将Wagtail文档上传到/ documents /的子文件夹的可能性

时间:2017-02-07 10:47:52

标签: django media wagtail

我通过Amazon S3提供我的Django-Wagtail媒体文件,现在我达到了一个需要定义自定义文档类的位置,该文​​档类创建了“受限”文档(只有在您登录时才可访问) )。这个文件将有一个特殊的访问权限,对我的S3桶说“嘿!只是提供这些文件如果他们是从这个”foo_url“请求而不是从其他地方”请求,因为他们将被显示仅记录用户。我想到这是为了防止受限制的网址扩散

这就是我试图将此Wagtail Document类定义为存储在 / documents / 子文件夹中的原因,然后告诉亚马逊如何处理该子文件夹。

dummy_code_that_doesnt_work

GenerateDocumentsClient service = new GenerateDocumentsClient(ConnectionManager.GetBinding(), ConnectionManager.GetEndpoint(MainFields.DatabaseRegister))

也许我对这一切过于复杂,还有另一种做法。任何建议都将受到超级欢迎!非常感谢你:)

1 个答案:

答案 0 :(得分:2)

Document模型不支持像图像那样的get_upload_to方法。但是,从Django 1.10开始,可以覆盖file的{​​{1}}字段:

AbstractDocument

我不确定这会有多大帮助 - 但Wagtail管理员处理文档上传的视图无法知道他们应该通过from wagtail.wagtaildocs.models import AbstractDocument class RestrictedDocument(AbstractDocument): file = models.FileField(upload_to='restricted', verbose_name=_('file')) 模型保存文档,而不是默认文件课。

在Wagtail中对文档实施视图限制目前正在进行中(https://github.com/wagtail/wagtail/pull/3245https://github.com/wagtail/wagtail/issues/1420)。