Vamos a paginar una tabla en la vista cada 10 elementos.
en el modelo...................
#recuerde llenar la tabla
db.define_table('persona',
Field('fecha','datetime'),
Field('nombre'),
Field('apellido'),
Field('profesion'))
en la controladora.............................
def index():
if len(request.args):
page=int(request.args[0])
else:
page=0
items_per_page=10 # cantidad de elementos por los cuales hacer la paginación
limitby=(page*items_per_page,(page+1)*items_per_page+1)
lista = db(db.persona.id > 0).select(orderby = ~db.persona.fecha,limitby=limitby)
return dict(lista=lista,page=page,items_per_page=items_per_page)
en la vista...............................................................
index.html
{{extend 'layout.html'}}
<table>
<tr>
<td>Fecha </td>
<td>Nombre</td>
<td>Apellido</td>
<td>Profesion</td>
</tr>
<tr>
{{for i,row in enumerate(lista):}}
{{if i==items_per_page: break}}
<td> {{=row.fecha}}</td>
<td> {{=row.nombre}}</td>
<td> {{=row.apellido}}</td>
<td> {{=row.profesion}}</td>
</tr>
{{pass}}
</table>
<br/>
{{if page:}}
<a href="{{=URL(args=[page-1])}}">anterior</a>
{{pass}}
{{if len(lista)>items_per_page:}}
<a href="{{=URL(args=[page+1])}}">siguiente</a>
{{pass}}
en el modelo...................
#recuerde llenar la tabla
db.define_table('persona',
Field('fecha','datetime'),
Field('nombre'),
Field('apellido'),
Field('profesion'))
en la controladora.............................
def index():
if len(request.args):
page=int(request.args[0])
else:
page=0
items_per_page=10 # cantidad de elementos por los cuales hacer la paginación
limitby=(page*items_per_page,(page+1)*items_per_page+1)
lista = db(db.persona.id > 0).select(orderby = ~db.persona.fecha,limitby=limitby)
return dict(lista=lista,page=page,items_per_page=items_per_page)
en la vista...............................................................
index.html
{{extend 'layout.html'}}
<table>
<tr>
<td>Fecha </td>
<td>Nombre</td>
<td>Apellido</td>
<td>Profesion</td>
</tr>
<tr>
{{for i,row in enumerate(lista):}}
{{if i==items_per_page: break}}
<td> {{=row.fecha}}</td>
<td> {{=row.nombre}}</td>
<td> {{=row.apellido}}</td>
<td> {{=row.profesion}}</td>
</tr>
{{pass}}
</table>
<br/>
{{if page:}}
<a href="{{=URL(args=[page-1])}}">anterior</a>
{{pass}}
{{if len(lista)>items_per_page:}}
<a href="{{=URL(args=[page+1])}}">siguiente</a>
{{pass}}