1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | 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 etc.
#