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

Wagtail add page between two existing pages

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

实现一个 graphql 界面

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

我可以在 wagtail 中更改页面的路径参数,但在我看来这很容易出错,而不是 wagtail 的创建者打算完成的。

Wagtail 使用 Django treebeard to enforce the tree structure of pages, and the Wagtail Page model Treebeard Node 模型的子类。我强烈反对手动操作 path 参数,这可能会完全弄乱您的结构。而是使用 Treebeard API 到 add/remove/move pages/nodes 左右。

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 的右侧,它之后的所有其他页面都将移至右侧。