我正在尝试构建轮播model
:
class Carousel(blocks.StructBlock):
heading = blocks.CharBlock(required=False)
carousel = blocks.ListBlock(
blocks.StructBlock([
('slide', blocks.StreamBlock([
('image', ImageChooserBlock()),
('video', EmbedBlock())]),
),
('description', blocks.RichTextBlock()),
])
)
每张幻灯片都包含一个图像或视频和说明。
我StreamBlock
在这里使用,因为我找不到任何其他更合适的结构块类型,允许用户在图像和视频之间进行选择。理想情况下,我需要类似于 的东西ChoiceBlock
,除了choices
参数应该期望其他块类型。
这可行吗?或者至少有办法限制sub-blocks
可以从 中插入多少个StreamBlock
?