如何以编程方式将内容添加到 Wagtail StreamField?
How can I programmatically add content to a Wagtail StreamField?
我正在从旧站点进行迁移,我需要以编程方式将原始 html 添加到 Wagtail 页面上的 StreamField
。我该怎么做?
最简单的方法是确保 RawHTMLBlock
在您的 StreamField
上启用,然后将其插入到那里。向字段添加内容的过程如下:
import json
original_html = '<p>Hello, world!</p>'
# First, convert the html to json, with the appropriate block type
raw_json = json.dumps([{'type': 'raw_html', 'value': original_html}])
# Load Wagtail page
my_page = Page.objects.get(id=1)
# Assuming the stream field is called 'body',
# add the json string to the field
my_page.body = raw_json
my_page.save()
您可以使用此方法将其他类型的块添加到 StreamField
- 只需确保创建具有适当块类型的字典列表,将其转换为 json,然后保存.
我正在从旧站点进行迁移,我需要以编程方式将原始 html 添加到 Wagtail 页面上的 StreamField
。我该怎么做?
最简单的方法是确保 RawHTMLBlock
在您的 StreamField
上启用,然后将其插入到那里。向字段添加内容的过程如下:
import json
original_html = '<p>Hello, world!</p>'
# First, convert the html to json, with the appropriate block type
raw_json = json.dumps([{'type': 'raw_html', 'value': original_html}])
# Load Wagtail page
my_page = Page.objects.get(id=1)
# Assuming the stream field is called 'body',
# add the json string to the field
my_page.body = raw_json
my_page.save()
您可以使用此方法将其他类型的块添加到 StreamField
- 只需确保创建具有适当块类型的字典列表,将其转换为 json,然后保存.