1

有什么方法可以模仿 Wagtail 创建页面的行为吗?

我能想到的唯一方法是POST在管理界面中单击“发布”时完全复制他们发送的请求,但这太可怕了。

我需要这个,因为我需要从 api 获取产品列表,处理它们并将它们插入到我的数据库中。我宁愿通过 wagtail 做到这一点,这样我就不会偏离我的 CMS

在一个完美的世界中,这将是对某个 api 端点的调用,我在请求正文中提供所需的字段。

4

2 回答 2

1

为什么不创建管理命令。

https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/

于 2020-09-17T07:46:32.300 回答
1

您可以使用管理命令(或任何其他触发器)执行以下操作:

from wagtail.core.models import Page

from myapp.models import CustomPage


parent_page = Page.objects.filter(slug="parent_page")[0] # get a suitable parent 

page = CustomPage(
        title="Sample name",
        depth=4,
        path="Some random path",
 )

parent_page.add_child(instance=page)
于 2020-09-17T07:57:14.407 回答