Hi Sam,
On Mon, 2006-04-24 at 15:52 -0400, Sam Tran wrote:
> Hi All,
>
> I have the following list of tuples:
> [(0, 'Jenna'),
> (1, 'Tom'),
> (1, 'Paul'),
> (2, 'Cathy')]
>
> I want to create a table with as many row as the number of tuples (one
> row for each tuple). The first element of each tuple is the number of
> tabulations or empty cells to put in each row. The second element is
> the string to write in the last cell of the row. So the resulting
> table would look like this:
>
> | Jenna |
> | | Tom |
> | | Paul |
> | | | Cathy |
I cannot think of any way to do this directly in templates. You need to
preprocess the data slightly. Initially, I came up with an example that
converted your prefix numbers into lists of the same length and then
iterated over those lists to insert </td><td> pairs. Something like
converted_data = [([None] * d[0], d[1]) for d in data]
in the view and
{% for entry in data %}
<tr><td>
{% for padding in entry.0 %}
</td><td>
{% endfor %}
{{ entry.1 }}</td></tr>
{% endfor %}
Then I realised this was stupid and if I was going to preprocess the
data, I might as well just give it the right string initially. So
converted_data = [('</td><td>' * d[0], d[1]) for d in data]
in the view and
{% for entry in data %}
<tr><td>{{ entry.0 }}{{entry.1 }}</td></tr>
{% endfor %}
in the template.
If it were possible to create a loop from a number (equivalent of
Python's range() function), rather than iterating over a sequence, the
first solution would work without pre-processing. But I can't say that I
dislike the fact you cannot do this. It forces complexity out the
templates: the temptation to use the templates as a computation engine
would become too great otherwise.
Cheers,
Malcolm
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---