I'm really struggling to get TAL and Chameleon/Pyramid to play nice. . .
I have a view in Pyramid that returns, for example, the following:
def view(request):
return {'results' : [ {'name':'alice', 'value':22},
{'name':'bob', 'value':11},
{'name':'charlie', 'value':33} ] }
I have a template that contains the following bit of HTML:
<!DOCTYPE html>
<html>
<head></head>
<body>
<table>
<thead>
<tr>
<td>Keyword</td>
<td class="center">Mean Position</td>
</tr>
</thead>
<tbody>
<tr tal:repeat"row results">
<td>${row.name}</td>
<td>${row.value}</td>
</tr>
</tbody>
</table>
</body>
</html>
I'm hoping for HTML output of the following:
<table>
<thead>
<tr class="odd">
<td>Name</td>
<td class="centre">Age</td>
</tr>
</thead>
<tbody>
<tr>
<td>alice</td>
<td>22</td>
</tr>
<tr>
<td>bob</td>
<td>11</td>
</tr>
<tr>
<td>charlie</td>
<td>33</td>
</tr>
</tbody>
</table>
However, Pyramid throws an error when I try to run this:
raise ParseError("Unexpected end tag.", token)
ParseError: Unexpected end tag.
- String: "</tr>"
which I thought was rather weird. I removed the closing <\tr>
, and then get the following error:
NameError: row
- Expression: "python:row['name']"
I'm really stuck on this and any help would be appreciated!