我通过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))
也许我对这一切过于复杂,还有另一种做法。任何建议都将受到超级欢迎!非常感谢你:)
答案 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/3245,https://github.com/wagtail/wagtail/issues/1420)。