我在HTML + Pyramid中有一个简单的小问题。
考虑我在数据库中有一个表,我想在我的页面模板中显示该表中的所有记录。 我知道如何从数据库中检索数据,但我不知道如何在HTML页面上显示它们。我知道如何显示一个单独的值,例如表中的记录总数。我可以在我的可调用视图上返回一个简单的JSON并渲染它。像这里:
@view_config(route_name='tasks', renderer='templates/tasks.pt')
def view_tasks(request):
try:
count = DBSession.query(MyTable).all().count()
except DBAPIError:
return Response(conn_err_msg, content_type='text/plain', status_int=500)
return { 'Total' : count }
相应的HTML代码:
...
<h3>Now ${Total} tasks are not completed</h3>
...
但是如何返回一组记录?或者我如何以另一种方式在HTML页面上显示它们? 有什么建议吗?
@view_config(route_name='tasks', renderer='templates/tasks.pt')
def view_tasks(request):
try:
items = DBSession.query(Task).all() # this is a set of objects
except DBAPIError:
return Response(conn_err_msg, content_type='text/plain', status_int=500)
return { # how to display them on page tamplate??? }
答案 0 :(得分:3)
你正在使用变色龙(.pt扩展名),所以你在阅读documentation时会获得很多好处。
<table>
<tr tal:repeat="item items">
<td>${item.name}</td>
<td>${item.description}</td>
</tr>
</table>
答案 1 :(得分:0)
% if items:
% for item in items:
<table>
<tr >
<td>${item.name}</td>
<td>${item.description}</td>
% endfor:
% endif: