class ContextVariableBlockSetter(template.Node):
def __init__(self, variable, nodelist):
self.variable = variable
self.nodelist = nodelist
def render(self, context):
context[self.variable] = self.nodelist.render(context)
return ""
@register.tag
def blockset(parser, node):
bits = node.contents.split()
if len(bits) != 2:
raise template.TemplateSyntaxError, "'%s' tag takes one argument" % bits[0]
nodelist = parser.parse(('endblockset',))
parser.delete_first_token()
return ContextVariableBlockSetter(bits[1], nodelist)
Comments
Isn't this what Django's built-in
withtag already does?#
nope. totally different idea {% blockset url %}http://{{ myhost }}{% url myurl %}{% endblockset %}
then somewhere else [HTML_REMOVED][HTML_REMOVED] etc.
#