Permalink
Browse files

Added a dict iteration example. This fixes #64

  • Loading branch information...
mitsuhiko committed Oct 6, 2011
1 parent b1b7b08 commit 898975dd5d02fcbc13dbe19ff65a50b43820df1a
Showing with 16 additions and 2 deletions.
  1. +16 −2 docs/templates.rst
View
@@ -497,7 +497,21 @@ provided in a variable called `users`::
{% endfor %}
</ul>
-Inside of a for loop block you can access some special variables:
+As variables in templates retain their object properties, it is possible to
+iterate over containers like `dict`::
+
+ <dl>
+ {% for key, value in my_dict.iteritems() %}
+ <dt>{{ key|e }}</dt>
+ <dd>{{ value|e }}</dd>
+ {% endfor %}
+ </dl>
+
+Note however that dictionaries usually are unordered so you might want to
+either pass it as a sorted list to the template or use the `dictsort`
+filter.
+
+Inside of a for-loop block you can access some special variables:
+-----------------------+---------------------------------------------------+
| Variable | Description |
@@ -529,7 +543,7 @@ each time through the loop by using the special `loop.cycle` helper::
<li class="{{ loop.cycle('odd', 'even') }}">{{ row }}</li>
{% endfor %}
-With Jinja 2.1 an extra `cycle` helper exists that allows loop-unbound
+Since Jinja 2.1 an extra `cycle` helper exists that allows loop-unbound
cycling. For more information have a look at the :ref:`builtin-globals`.
.. _loop-filtering:

0 comments on commit 898975d

Please sign in to comment.