您好我是Wagtail的新手,并想知道是否有一种简单的方法可以向单个页面类型添加多个下载。我创建了一个自定义页面类型,并希望能够添加多个文档/下载。我设法让一个人展示,但是没有办法将其扩展到添加许多。
downloads = models.ForeignKey('wagtaildocs.Document', null=True, on_delete=models.SET_NULL)
content_panels = Page.content_panels + [
DocumentChooserPanel('downloads'),
答案 0 :(得分:2)
您可以通过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'),
]