Re: ifequal not working?

2007-07-28 Thread Eloff

> 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-07-28 Thread Stefan Matthias Aust

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?

2007-07-28 Thread Nathan Ostgard

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?

2007-07-27 Thread Eloff

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
-~--~~~~--~~--~--~---