Wagtail在两个现有页面之间添加页面

问题描述 投票:1回答:1

我在带有graphql界面的django应用程序中使用wagtail。 Wagtail只是后端,我正在使用vuejs实现graphqlgraphene界面的编辑器。

我想在两个现有页面之间添加一个新页面。页面顺序取决于页面的路径参数。是否有可能在不操纵路径参数的情况下实现这一目标?

我可以改变wigtail页面的路径参数,但在我看来这很容易出错,而不是像wagtail的创建者那样。

django content-management-system graphql wagtail graphene-python
1个回答
3
投票

Wagtail使用Django treebeard来强制执行页面的树结构,而Wagtail Page model则使用Treebeard Node模型。我强烈反对手动操纵path参数,这可能会完全弄乱你的结构。而是使用Treebeard API添加/删除/移动页面/节点。

add_sibling方法似乎在这里最合适,使用如下:

new_page = MyPageModel(
    title='My Title'
    slug='foo'
    ...
)
page = Page.objects.get(path='0001...')
page.add_sibling('right', instance=new_page)

您的new_page将被插入您选择的page的右侧,其后的所有其他页面将被移动到右侧。

© www.soinside.com 2019 - 2024. All rights reserved.