我正在尝试构建轮播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
个数量?