我怎样才能使 Wagtail Streamfield 不是必需的?
How can I make a Wagtail Streamfield not required?
在下面的模型中,我想让 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')
]
StreamField 还接受一个可选的关键字参数 blank,默认为 false;如果为 false,则必须至少提供一个区块才能使该字段被视为有效。
来自:
- http://docs.wagtail.io/en/latest/topics/streamfield.html
以下适用于我的设置 blank=True
。 Rollingers 的回答是死的 link 所以为任何需要它的人添加代码示例。
class BlogPage(Page):
body = StreamField([
('heading', blocks.CharBlock(form_classname="full title")),
('paragraph', blocks.RichTextBlock()),
('image', ImageChooserBlock()),
], blank=True)
在下面的模型中,我想让 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')
]
StreamField 还接受一个可选的关键字参数 blank,默认为 false;如果为 false,则必须至少提供一个区块才能使该字段被视为有效。
来自: - http://docs.wagtail.io/en/latest/topics/streamfield.html
以下适用于我的设置 blank=True
。 Rollingers 的回答是死的 link 所以为任何需要它的人添加代码示例。
class BlogPage(Page):
body = StreamField([
('heading', blocks.CharBlock(form_classname="full title")),
('paragraph', blocks.RichTextBlock()),
('image', ImageChooserBlock()),
], blank=True)