> I'm making a list of objects, and only including some of them in the output: > > {% for thing in mylist %} > {% if thing.test %} > {{thing}} > {% endif %} > {% endfor %} > > Now if I want to comma-separate the list, how do I do it? The natural > thing to my mind is an "iffirst" tag: > > {% for thing in mylist %} > {% if thing.test %} > {% iffirst %}Things: {% else %}, {% endiffirst %} > {{thing}} > {% endif %} > {% endfor %} > > {% iffirst %} is true the first time it is evaluated in each loop. > Because of the "if thing.test", it could be evaluated first on the third > time through the loop, for example. That's why forloop.first isn't > sufficient. > > I've tried creating such a tag, but can't find the contextual > information I need to know when the for loop has been restarted. > > (Also: the whitespace will be messed up even if I do have this tag: the > comma will have space before it). > > So, two questions: 1) How would I create a tag like this, and 2) is > there some simpler way to achieve my purpose? >
the for loop has a forloop.first, see: http://www.djangoproject.com/documentation/templates/#for Creating your own tags is covered in http://www.djangoproject.com/documentation/templates_python/ I would look at the join filter though. http://www.djangoproject.com/documentation/templates/#join Michael Trier blog.michaeltrier.com --~--~---------~--~----~------------~-------~--~----~ 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?hl=en -~----------~----~----~----~------~----~------~--~---