Perhaps a filter rather than a tag. You will need to provide input for the filter, but it can ignore it. So:
{% for a in random_variable|list_print %} Bill On 2/19/12, brian <brian.down...@yakkadesign.com> wrote: > Is it possible to create a template tag that will create a list that a > for loop can loop over? I know I can create a template tag that will > store the list in a variable and then iterate over that variable. I > want to do it in one step. > > For example the template tag with be “list_print” that will create a > list. I want something like the following in the template: > {% for a in list_print %} > > Below is my code. When I call it the loop never iterates. > @register.tag(name="list_print") > def do_list_print(parser, token): > #test that don't have arguments > try: > tokenList = token.split_contents() > > except Exception: > raise template.TemplateSyntaxError("%r tag throw unexpected > exception(token.split_contents)" % token.contents.split()[0]) > > if len(tokenList)>1: > raise template.TemplateSyntaxError("%r tag does not take > arguments" % token.contents.split()[0]) > > return ListPrintNode() > > class ListPrintNode(Node): > """ > thread safe version based on CycleNode from > https://docs.djangoproject.com/en/dev/howto/custom-template-tags/ > """ > > def __init__(self): > self.myList = ['a', 'b'] > > def render(self, context): > > if self not in context.render_context: > context.render_context[self] = > itertools.cycle(self.myList) > > cycle_iter = context.render_context[self] > return cycle_iter.next() > > Brian > > -- > 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 > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- 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 django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.