From f6d504032bec04813d2ca813f707088b700b10aa Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Tue, 20 Jan 2015 00:32:24 +0000 Subject: [PATCH] define HeadingBlock to demonstrate the principle of providing renderings for non-smart values --- wagtail/wagtailadmin/blocks.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/wagtail/wagtailadmin/blocks.py b/wagtail/wagtailadmin/blocks.py index c6d3064c3..d6a6e8ad7 100644 --- a/wagtail/wagtailadmin/blocks.py +++ b/wagtail/wagtailadmin/blocks.py @@ -11,7 +11,7 @@ from django.utils.encoding import force_text, python_2_unicode_compatible from django.utils.deconstruct import deconstructible from django.utils.functional import cached_property from django.template.loader import render_to_string -from django.forms import Media +from django.forms import Media, CharField from django.forms.utils import ErrorList import six @@ -270,6 +270,14 @@ class FieldBlock(Block): def clean(self, value): return self.field.clean(value) +class HeadingBlock(FieldBlock): + def __init__(self, tag_name='h1', **kwargs): + self.tag_name = tag_name + super(HeadingBlock, self).__init__(CharField(), **kwargs) + + def render(self, value): + return format_html("<{tag}>{value}", tag=self.tag_name, value=value) + # ======= # Chooser # =======