我在带有graphql
界面的Django应用程序中使用using。 Wagtail只是后端,我正在使用vuejs
和使用graphql
的{{1}}接口实现编辑器。
我想在两个现有页面之间添加一个新页面。页面顺序取决于页面的路径参数。是否可以在不控制路径参数的情况下实现这一目标?
我可以在wagtail中更改页面的路径参数,但是在我看来这很容易出错,而不是wagtail的创建者打算这样做。
答案 0 :(得分: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
的右侧,之后的所有其他页面将移至右侧。