小编Pre*_*orn的帖子

在 Wagtail 中以编程方式添加 StreamBlock 子项

我在下面有以下 StructBlock 和 StreamBlock:

class AccordionItemBlock(StructBlock):
    title = CharBlock()
    text = RichTextBlock()

class AccordionRepeaterBlock(StreamBlock):
    accordion_item = AccordionItemBlock()
Run Code Online (Sandbox Code Playgroud)

我需要以编程方式将它和多个“项目”CharBlock 添加到此页面:

class BasicPage(Page):
    body = StreamField([
        ('accordion_repeater_block', AccordionRepeaterBlock()),
    ], null=True)
Run Code Online (Sandbox Code Playgroud)

这就是我接近它的方式

page.body = [
    (
        'accordion_repeater_block',
        {
            'accordion_item',
            {
                'title': 'Title goes here',
                'text': RichText('Testing!'),
            }
        }
    )
]
provider.save()
Run Code Online (Sandbox Code Playgroud)

无论我在'accordion_repeater_block'之后在第二个元组值中输入什么,我都会收到错误。任何想法如何解决这个问题?

wagtail wagtail-streamfield

2
推荐指数
1
解决办法
1555
查看次数

标签 统计

wagtail ×1

wagtail-streamfield ×1