I'v written a catch tag, and it can catch the output of it content (even sub tag in it), then save the output to a var_name. for example:
{% load utiltags %} {% catch as a %} {% now "jS F Y H:i" %} {% endcatch %} Current time is {{ a }} the code is: ---------------------------utiltag.py------------------------------- from django import template import re register = template.Library() class CatchNode(template.Node): def __init__(self, nodelist, var_name): self.nodelist = nodelist self.var_name = var_name def render(self, context): output = self.nodelist.render(context) context[self.var_name] = output return '' def do_catch(parser, token): """ Catch the content and save it to var_name Example:: {% catch as var_name %} ... {% endcatch %} """ try: tag_name, arg = token.contents.split(None, 1) except ValueError: raise template.TemplateSyntaxError, "%r tag requires arguments" % token.contents[0] m = re.search(r'as (\w+)', arg) if not m: raise template.TemplateSyntaxError, '%r tag should define as "%r as var_name"' % (tag_name, tag_name) var_name = m.groups()[0] nodelist = parser.parse(('endcatch',)) parser.delete_first_token() return CatchNode(nodelist, var_name) do_catch = register.tag('catch', do_catch) I hope this tag will be helpful. -- I like python! My Blog: http://www.donews.net/limodou NewEdit Maillist: http://groups.google.com/group/NewEdit --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users -~----------~----~----~----~------~----~------~--~---