You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wagtail StreamField能否设置多组默认值并自动生成条目?

在Wagtail中为StreamField自动生成多个带默认值的列表项

这个需求完全可行,你的代码写法有误,问题出在将多块默认值设置给了StructBlock,而非StreamField本身。StructBlock的default参数仅接受单个字典(对应一个StructBlock实例的默认值),要生成多个列表项,需要直接给StreamField配置default参数。

修正后的代码示例

fasiliteter = StreamField([
    ('faselitet', blocks.StructBlock([
        ('type', blocks.CharBlock()),
        ('ink', blocks.BooleanBlock())
    ])),
], use_json_field=True, default=[
    {'type': 'faselitet', 'value': {"type": "Ting", "ink": True}},
    {'type': 'faselitet', 'value': {"type": "TAng", "ink": False}}
])

关键说明

  • StreamField的default是一个列表,每个元素是一个字典:
    • type对应你定义的块标识名称(此处为faselitet)
    • value对应StructBlock的字段值(单个字典,匹配StructBlock的字段结构)
  • 创建新页面时,StreamField会自动加载这两个预定义的StructBlock项
  • 如果需要限制用户不能删除少于指定数量的项,可以给StreamField添加min_num=2参数,根据实际需求选择

内容的提问来源于stack exchange,提问作者Eirik Trygg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:45:46