在可订购Bug中摇摆可订购?

2024-04-25 16:41:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想为一个网站的不同页面创建多个子菜单。所以,我创建了一个名为“Submenus”的片段。你知道吗

子菜单包含一个名为submenu\u items的对象。在网页上,这意味着最高级别的导航。然后,每个子菜单项都有一个下拉项。这样,在每个顶级链接下,我可以创建一个包含更多链接的下拉列表。你知道吗

问题:
每当我创建一个新的子菜单项时,它会创建3个下拉项(如下图所示)。我希望它提供添加下拉项按钮。然后,我会根据需要一次创建一个。代码似乎默认生成了三个。你知道吗

我试着删除它们,保存片段。但当我点击这个片段时,它们又出现了。我尝试重新创建整个模型并重新移植所有内容。我还是有同样的问题。你知道吗

有人能指出我可能做错了什么吗?我缺少的嵌套元素有什么规则吗?你知道吗

enter image description here

@register_snippet
class Submenu(ClusterableModel):
    text = models.CharField(max_length=255)
    subsite_url = models.CharField(max_length=255)

    panels = [
        FieldPanel('text'),
        FieldPanel('subsite_url'),
        InlinePanel('submenu_items', label="Submenu Items"),
    ]

    def __str__(self):
        return self.text

class SubmenuItem(ClusterableModel, Orderable):
    page = ParentalKey(Submenu, on_delete=models.CASCADE, related_name='submenu_items')

    menu_item = models.CharField(blank=True, max_length=250)
    internal_url = models.CharField(blank=True, max_length=250)

    panels = [
        FieldPanel('menu_item'),
        FieldPanel('internal_url'),
        InlinePanel('dropdown_items', label="Dropdown Items"),
    ]    

class DropdownItem(Orderable):
    page = ParentalKey(SubmenuItem, on_delete=models.CASCADE, related_name='dropdown_items')

    menu_item = models.CharField(blank=True, max_length=250)
    internal_url = models.CharField(blank=True, max_length=250)

    panels = [
        FieldPanel('menu_item'),
        FieldPanel('internal_url'),
    ]

Tags: trueurlmodelsitemsitemlengthmaxclass
1条回答
网友
1楼 · 发布于 2024-04-25 16:41:38

DropdownItem类的用途是什么?我相信SubmenuItem和DropdownItem是多余的。如果您返回到wagtail教程并查看gallery images示例,您将找到您的答案。你知道吗

http://docs.wagtail.io/en/v2.0/getting_started/tutorial.html#images

作者创建了BlogPageGalleryImage,它继承了Orderable。可以对SubmenuItem使用相同的ParentalKey结构。你知道吗

相关问题 更多 >

    热门问题