通过Wagtail管理员更改页面类型

时间:2017-10-13 18:46:06

标签: wagtail

我可以在Wagtail admin中创建页面类型(页面模型)。记录此功能:http://docs.wagtail.io/en/latest/editor_manual/new_pages/selecting_a_page_type.html

是否有可能在页面创建后改变Wagtail admin中的页面类型?有没有办法以编程方式更改页面类型?

1 个答案:

答案 0 :(得分:1)

据我所知,在使用管理面板创建页面后,无法更改页面类型。我遇到了同样的问题,我设法通过编辑数据库条目来解决。我不确定这是否正确。

我错误地制作了一个页面(“ StandardPage”而不是“ StandardIndexPage”),我想对其进行更正。我无法删除并重新创建此页面,因为它下面有另一个树结构。因此,我按照以下步骤更改页面类型。

  • 选择要更改的页面并找到其ID。只需单击“ edit”,然后它将打开一个页面,例如localhost:8000 / admin / pages / 120 / edit /。显示的数字将是您的ID。
  • 选择任何您要更改页面类型的页面。然后获取它的ID。

  • 转到“ wagtailcore_page”表,查看两个页面的“ content_type_id”。

  • 再次检查“ django_content_type”表中的内容类型是否正确。

  • 转到数据库,在我的案例“ home_standardpage”中,在适当的表中检查该条目。仔细检查所有内容。

  • 转到要移动到的新类表(home_standardindexpage)并检查要求。添加带有页面ID的条目(上面的示例为120)。然后保存条目。

  • 在上述情况下,转到“ home_standardpage”并删除您不再想要的条目(id = 120)。
  • 最后,转到“ wagtailcore_page”表并找到ID(120),然后将“ content_type_id”字段更改为新的页面类型。

然后将更改您的页面类型。在数据库中进行编辑时,请格外小心。首先在本地副本中尝试,然后仅在实际产品中进行更改。