多个文档上传到Wagtail页面

时间:2017-05-23 15:15:53

标签: document wagtail

您好我是Wagtail的新手,并想知道是否有一种简单的方法可以向单个页面类型添加多个下载。我创建了一个自定义页面类型,并希望能够添加多个文档/下载。我设法让一个人展示,但是没有办法将其扩展到添加许多。

downloads = models.ForeignKey('wagtaildocs.Document', null=True, on_delete=models.SET_NULL)

content_panels = Page.content_panels + [
    DocumentChooserPanel('downloads'),

1 个答案:

答案 0 :(得分:2)

您可以通过ParentalKeyInlinePanel与您的网页模型相关联的子模型执行此操作。 http://docs.wagtail.io/en/v1.10.1/getting_started/tutorial.html#images上的教程给出了一个示例 - 您的设置非常相似,唯一真正的区别在于您将文档链接到页面而不是图像:

class MyPage(Page):
    ...
    content_panels = Page.content_panels + [
        InlinePanel('documents', label="Documents")
    ]

class MyPageDocumentLink(Orderable):
    page = ParentalKey(MyPage, related_name='documents')
    document = models.ForeignKey(
        'wagtaildocs.Document', on_delete=models.CASCADE, related_name='+'
    )

    panels = [
        DocumentChooserPanel('document'),
    ]