On Wed, Mar 3, 2010 at 7:52 AM, harryos <oswald.ha...@gmail.com> wrote:
>
> hi
> I am passing a dictionary to the template
> say,
> objects_status={obj1:True,   obj2:False,  obj3:True }
>
> In the template I want to show something like
>
> {%if not  len(objects.status ) %} # just to clarify the purpose..I
> know len will not work
> No objects to show
>
> {% else %}
> Objects are:
> .....show the objects and truth values in a table ....
>
> {%endif %}
>
>
> But how can I check the size of the dictionary? If it was a Queryset I
> could have used qset.count  ..but here it would not work.
> Can somebody help?
>
> thanks
> harry
>

For this specific example, you could use the for .. empty[1] template
tag, and look at objects.items(), eg:

  {% for obj, status in objects_status.items %}
   {{ obj }}
  {% empty %}
  No objects
  {% endfor %}

If you actually wanted to access the size of the dictionary, you
should use the length[2] template filter, eg:

  There are {{ objects_status.items|length }} object(s).

Cheers

Tom

[1] http://docs.djangoproject.com/en/1.1/ref/templates/builtins/#for-empty
[2] http://docs.djangoproject.com/en/1.1/ref/templates/builtins/#length

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@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.

Reply via email to