代码之家  ›  专栏  ›  技术社区  ›  paweloque

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

  •  1
  • paweloque  · 技术社区  · 6 年前

    我在django应用程序中使用wagtail graphql 接口。Wagtail只是后端,我用它实现了一个编辑器 vuejs 和一个 图形ql graphene .

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

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

    1 回复  |  直到 6 年前
        1
  •  3
  •   inostia    6 年前

    Wagtail使用 Django treebeard 强制页面的树结构,以及 Wagtail Page model 亚纲的树 Node 模型。我强烈反对操纵法律 path 手动设置参数,这可能会完全破坏您的结构。而是使用treebeardapi来添加/删除/移动页面/节点。

    这个 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