【问题标题】:Wagtail add page between two existing pagesWagtail 在两个现有页面之间添加页面
【发布时间】:2019-02-10 13:52:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: django content-management-system graphql wagtail graphene-python


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 2019-04-04
      • 2021-06-16
      相关资源
      最近更新 更多