如何在Page模型上创建动态内容块。假设我想要一个代表谷歌地图的块。因此,我将此StructBlock聚合为缩放级别,lat和lng,并使用模板渲染块。
这个想法是避免用户实际上必须在管理员中输入lat / lng,只需使用搜索地图提供并以这种方式动态设置lat / lng。
我知道添加它的唯一方法是将块包装在StreamField
中,然后将ti添加为流场面板。
然而,当我只想要一个时,这允许添加多个。
答案 0 :(得分:2)
使用StreamFields和StructBlocks时,您可以定义希望用户能够创建的块数中的min_num
和/或max_num
。请参阅StructBlock docs。
示例:
class MyPage(Page):
map = StreamField(
MapBlock(max_num=1, min_num=1, required=True)
)
此功能已添加到1.12。