How to add Wagtail page programmatically via Python script

27 Feb · by Tim Kamanin · 1 min read

Given:

Two Wagtail CMS page classes:

class Section(Page):
    subtitle = models.Charfield(max_length=128)

class News(Page):
    content = models.Textfield()

Task:

Using a python script, add a News page item under the Section page titled "Latest news."

Solution:

1) Get parent page instance:

parent_page = Page.objects.get(title='Latest news').specific

2) Create a News page instance:

news_page = News(
    content='Something pleasant to hear.'
)

3) Add newly created instance as a child to the parent_page:

parent_page.add_child(instance=news_page)

4) Save news_page:

news_page.save()

Now you should see your page in the Wagtail explorer. Done!

Want to get more 🔥 tips like this one?

Subscribe to get notified about new dev tutorials

Comments