0

我有一个这样的结构块:

class JumbotronBlock(blocks.StructBlock):
fullwidth= blocks.BooleanBlock(requried=False, help_text="Full width of the viewport")
heading= blocks.CharBlock(required=True, help_text="Heading for the jumbotron")
lead= blocks.CharBlock(required= False, help_text= "Lead text for Jumbotron")
link= LinkBlock(required=False)
bg_image= ImageChooserBlock(required=False)
bg_color= blocks.CharBlock(required=False, help_text="Hex value for background color")
classes= blocks.CharBlock(required=False, help_text="CSS classes for jumbotron")
styles= blocks.CharBlock(required=False, help_text="Custom style definitions for jumbotron")

class Meta:
    template="streams/jumbotron_block.html"
    icon= "placeholder"
    label= "Jumbotron"

我的主页类模型是这样的:

class HomePage(Page):
template= "home/home_page.html"
header= Jumbotron()

body =  StreamField([
    ('Richtext', RichTextBlock()),
    ('CTA', CTABlock()),
    ('Section', SectionBlock()),
    ])

content_panels = Page.content_panels + [
    ??which panel here??('header'),
    StreamFieldPanel('body'),
    ]

我应该使用哪个面板将 Jumbotron 添加到编辑面板?谢谢。

4

1 回答 1

2

StructBlock不能用作模型字段 - 它仅在 StreamField 内有效。您需要将 jumbotron 块的字段定义为HomePage 模型中的Django 模型字段,并且 - 如果您想在编辑视图中直观地将它们组合在一起 - 将它们放在MultiFieldPanel中。

于 2019-12-17T14:22:50.537 回答