金字塔应用程序的简单分页
pyramid_pagination的Python项目详细描述
金字塔应用程序的简单分页它目前有内置的支持 分页:
- iterable类型(列表、元组)
- sqlalchemy查询对象
但是可以通过扩展支持对任何数据类型的分页。
项目
TL;博士
安装时使用:
$ pip install pyramid_pagination
使用默认分页:
frompyramid_paginationimportpaginate@paginatedefview(request):returnrange(30)
然后,没有参数的请求将导致:
{"result":[0,1,2,...,22,23,24],"page":{"offset":0,"limit":25,"count":30,"attribute":"result"}}
更改了一些默认值并添加一些基于属性的分页 排序方法:
frompyramid_paginationimportpaginate@paginate(limit_default=2,comparers=['name','value'])defview(request):return[dict(name='alph',value=1),dict(name='beta',value=2),dict(name='zeta',value=3),dict(name='alph',value=4),]
然后是带参数的请求 ?page.offset=1&page.limit=3&page.sort=name-,value结果:
{"result":[{"name":"beta","value":2},{"name":"alph","value":1},{"name":"alph","value":4}],"page":{"offset":1,"limit":3,"count":4,"sort":"name-,value","attribute":"result"}}