Wagtail StreamField 中的单个项目

Single item in Wagtail StreamField

如何在页面模型上创建动态内容块。假设我想要一个代表 google 地图的块。因此,我将此 StructBlock 聚合为缩放级别、lat 和 lng 以及呈现块的模板。

这个想法是为了避免用户实际必须在管理中输入纬度/经度,而只使用提供的搜索地图并以这种方式动态设置纬度/经度。

我知道的唯一添加方法是将块包装在 StreamField 中,然后将 ti 添加为流字段面板。

但是,当我只想要一个时,这允许添加多个。

使用 StreamFields 和 StructBlock 时,您可以定义 min_num and/or max_num 您希望用户能够创建的块的数量。参见 StructBlock docs

示例:

class MyPage(Page):
    map = StreamField(
        MapBlock(max_num=1, min_num=1, required=True)
    )

此功能是在 1.12 中添加的。