Re: ifequal not working?
> Dan, ifequal cannot evaluate its arguments. They must be variables, > numbers or constants in quotes. Thanks Stefan, I'll remember that in future. > But you can do this: > > {% for item in menu_items %} > {% if forloop.last%} class="last-item"{% endif %} > {% endfor %} > Thanks Nathan, that's very helpful, much neater too. Figures there'd be a way to do that in Django. -Dan --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: ifequal not working?
2007/7/28, Eloff <[EMAIL PROTECTED]>: > > Thinking myself clever I added enumerate as a filter and did: > > {% for i, item in menu_items|enumerate %} > {% ifequal i|add:1 menu_items:length %} class="last-item"{% endifequal > %} Dan, ifequal cannot evaluate its arguments. They must be variables, numbers or constants in quotes. To special case the last element of a list, do this: {% for item in items %} {% if forloop.last %} class="last" {% endif %} ... {% endfor %} -- Stefan Matthias Aust --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Re: ifequal not working?
ifequal can't do filters, unfortunately. But you can do this: {% for item in menu_items %} {% if forloop.last%} class="last-item"{% endif %} {% endfor %} Or class="{{ forloop.first|yesno:"first," }} {{ forloop.last| yesno:"last," }}" On Jul 27, 11:42 pm, Eloff <[EMAIL PROTECTED]> wrote: > Thinking myself clever I added enumerate as a filter and did: > > {% for i, item in menu_items|enumerate %} > {% ifequal i|add:1 menu_items:length %} class="last-item"{% endifequal > %} > > To me I expect it to be true only for the last item, I printed {i|add: > 1} and it works as expected. However, what happens is it's always > true. I don't understand it, does someone know why this is? > > Thanks, > -Dan --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
ifequal not working?
Thinking myself clever I added enumerate as a filter and did: {% for i, item in menu_items|enumerate %} {% ifequal i|add:1 menu_items:length %} class="last-item"{% endifequal %} To me I expect it to be true only for the last item, I printed {i|add: 1} and it works as expected. However, what happens is it's always true. I don't understand it, does someone know why this is? Thanks, -Dan --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---