class LinkBlock(SectionBlock): link = core_blocks.URLBlock() paragraph = common_blocks.SimpleRichTextBlock(required=False) class Meta: icon = 'link' template = 'blocks/link_block.html'
class ArticleBlock(SectionBlock): image = image_blocks.ImageChooserBlock(required=False) paragraph = common_blocks.SimpleRichTextBlock() class Meta: icon = 'snippet' template = 'blocks/article_block.html'
class PeopleBlock(SectionBlock): people = core_blocks.ListBlock(PersonBlock(required=False)) group_photo = image_blocks.ImageChooserBlock() group_bio = common_blocks.SimpleRichTextBlock() class Meta: icon = 'user' template = 'blocks/people_block.html'
class EventBlock(SectionBlock): start_date = core_blocks.DateTimeBlock() stop_date = core_blocks.DateTimeBlock() photo = image_blocks.ImageChooserBlock(required=False) description = common_blocks.SimpleRichTextBlock(required=False) class Meta: icon = 'date' template = 'blocks/event_block.html'
class PersonBlock(SectionBlock): first_name = core_blocks.CharBlock() middle_name = core_blocks.CharBlock(required=False) last_name = core_blocks.CharBlock() titles = core_blocks.CharBlock(required=False) photo = image_blocks.ImageChooserBlock() biography = common_blocks.SimpleRichTextBlock() class Meta: icon = 'user' template = 'blocks/person_block.html'
class TestPage(Page): text_field = fields.SimpleRichTextField(blank=True) body_blocks = StreamField([ ('text', blocks.SimpleRichTextBlock()), ('quote', blocks.CommonQuoteBlock()), ('image', blocks.CommonImageBlock()), ('heading', blocks.CommonHeadingBlock()), ('video', blocks.CommonVideoBlock()), ('internal', blocks.CommonInternalLink()), ('external', blocks.CommonExternalLink()), ('links', blocks.CommonLinksBlock()), ], blank=True) content_panels = Page.content_panels + [ FieldPanel('text_field'), StreamFieldPanel('body_blocks'), ]