多个文档上传到 Wagtail 页面

Multiple document uploads to Wagtail Page

您好,我是 Wagtail 的新手,想知道是否有一种简单的方法可以将多个下载添加到单个页面类型。我创建了一个自定义页面类型,并希望能够添加多个 documents/downloads。我已经设法展示了一个,但找不到将其扩展以添加更多的方法。

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

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

您可以通过 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'),
    ]