多个文档上传到 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'),
您可以通过 ParentalKey
和 InlinePanel
使用与您的页面模型关联的子模型来执行此操作。 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'),
]
您好,我是 Wagtail 的新手,想知道是否有一种简单的方法可以将多个下载添加到单个页面类型。我创建了一个自定义页面类型,并希望能够添加多个 documents/downloads。我已经设法展示了一个,但找不到将其扩展以添加更多的方法。
downloads = models.ForeignKey('wagtaildocs.Document', null=True, on_delete=models.SET_NULL)
content_panels = Page.content_panels + [
DocumentChooserPanel('downloads'),
您可以通过 ParentalKey
和 InlinePanel
使用与您的页面模型关联的子模型来执行此操作。 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'),
]