0

我在 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??? }
4

2 回答 2

3

您正在使用 Chameleon(.pt 扩展名),因此您可以从阅读他们的文档中获得很多收获。

<table>
  <tr tal:repeat="item items">
    <td>${item.name}</td>
    <td>${item.description}</td>
  </tr>
</table>
于 2013-09-22T02:23:53.830 回答
0
% if items:

% for item in items:

<table>
  <tr >
    <td>${item.name}</td>
    <td>${item.description}</td>

% endfor:

% endif:
于 2014-11-01T10:31:20.140 回答