5

在下面的模型中,我想让整个bottom_content字段都不需要。我怎样才能做到这一点?

class ServicePage(Page):
  top_content = StreamField(default_blocks + [
    ('two_columns', TwoColumnBlock()),
    ('three_columns', ThreeColumnBlock()),
  ])
  bottom_content = StreamField(default_blocks + [
    ('two_columns', TwoColumnBlock()),
    ('three_columns', ThreeColumnBlock()),
  ])

  search_fields = Page.search_fields + [
    index.SearchField('top_content'),
    index.SearchField('bottom_content'),
  ]

  content_panels = Page.content_panels + [
    StreamFieldPanel('top_content'),
    StreamFieldPanel('bottom_content'),
    InlinePanel('service_package', label='Packages')
  ]
4

2 回答 2

4

StreamField 还接受一个可选的关键字参数空白,默认为 false;如果这是错误的,则必须至少提供一个块以使该字段被视为有效。

来自: - http://docs.wagtail.io/en/latest/topics/streamfield.html

于 2017-11-16T18:41:41.370 回答
1

以下适用于我的设置blank=True。Rollingers 的答案是一个死链接,因此为任何需要它的人添加代码示例。

class BlogPage(Page):
    body = StreamField([
        ('heading', blocks.CharBlock(form_classname="full title")),
        ('paragraph', blocks.RichTextBlock()),
        ('image', ImageChooserBlock()),
    ], blank=True)
于 2021-07-07T11:52:36.220 回答