[Zope] TAL Question: Iterating through a list
J Cameron Cooper
jccooper@jcameroncooper.com
Thu, 20 Feb 2003 11:51:10 -0600
>
>
> I am calling a python script which wraps around a ZSQL method and
> simply returns the result set. The set comes back as a list of
> dictionaries. I'm getting stuck because I can't figure out how to tell
> TAL to to 1) grab each item and 2) grab the value associated with each
> dictionary key.
>
> I'm scratching my head trying to figure out how to to iterate over a
> list using TAL. Here's the scenario:
Iterating over a list (coming from a script) is as usual:
<span tal:repeat="element container/list_making_script">
<span tal:content="element/attribute">Value of some attribute of an
element of a list</span>
</span>
Iterating over a dictionary's values is thus:
<span tal:repeat="value context/dictionary/values">
<span tal:content="value">Value from a dictionary</span>
</span>
(Note that this is the usual Python method for getting the values of a
dictionary. In Python, one would say dict.values() instead. You can also
use dict.keys(), or with a little more work, dict.items() in the same
manner.)
So put 'em together:
<span tal:repeat="dictionary container/list_making_script">
<span tal:repeat="value dictionary/values">
<span tal:content="value">Some value from a dictionary in a list</span>
</span>
</span>
--jcc