{{{
class TextTag(Tag):
"""Return a template tag function for use as a text type tag.
e.g. <div class="foo">text text text</div>
Can override the 'render' method
"""
def render(self, context, text, attrs):
...
return html
def as_template_tag(self, context, text, **attrs):
tag = type(self)(self.tag, self.generic_css_class)
return tag.render(context, text, attrs)
}}}
Used as
{{{
heading_section = TextTag('h3', 'HeadingSection').as_template_tag
register.simple_tag(heading_section, name='HeadingSection',
takes_context=True)
}}}
Raises exception:
{{{
django.template.exceptions.TemplateSyntaxError: 'HeadingFieldset' is
decorated with takes_context=True so it must have a first argument of
'context'
}}}
Should This error not be smart enough to see if its a methods, that once
bound then context will be the first argument?
--
Ticket URL: <https://code.djangoproject.com/ticket/33097>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* resolution: => invalid
Comment:
It's documented that `simple_tag()` accepts functions not methods.
--
Ticket URL: <https://code.djangoproject.com/ticket/33097#comment:1>
--
Ticket URL: <https://code.djangoproject.com/ticket/33097#comment:2>