[Zope] List within a list - how to use in a page template

Paul Winkler pw_lists at slinkp.com
Wed Dec 14 01:55:34 EST 2005


On Wed, Dec 14, 2005 at 06:06:21PM +1300, Cameron Beattie wrote:
> I am trying to get my head around representing a list in a page template.
> 
> Assume the following list:
> >>>m
> [[61282125371L, 1, 6, 0], [61282125379L, 1, 6, 0], [61282825240L, 6, 6, 0], 
> [61282125378L, 1, 6, 0], [61282125374L, 1, 6, 0]
> >>>m[0]
> [61282125371L, 1, 6, 0]
> >>>m[0][0]
> 61282125371L
> 
> i.e. m is a list where each member is itself a list.
> 
> How do I get a page template to render a particular item? Assume a function 
> getem returns the list.
> <tal:block repeat="m python:here.getem()">
>    <td tal:repeat="single m" tal:content="single"></td>
> 
> This code will produce four columns and five rows, with each populated by 
> the list members. But what if I only want the first and third members in 
> each case i.e. 2 columns and five rows?
> 
> I thought it would be something like tal:content="python:single[0]" but 
> that gives me an unsubscriptable object error.

That's because, in your example, each time through the loop,
single is an int. Try indexing m instead.

-- 

Paul Winkler
http://www.slinkp.com


More information about the Zope mailing list