Pagination 金字塔+;ZODB与分页

Pagination 金字塔+;ZODB与分页,pagination,pyramid,zodb,Pagination,Pyramid,Zodb,我的金字塔ZODB应用程序中存储了图像。我有一个视图,列出了所有的图像,但是当我有很多图像时,这会导致页面渲染太长/太慢,因此我希望它们分页,比如说,每页15个图像 我已经看过很多关于webhelpers的web示例,但都是针对SQL的,有没有一种方法可以将webhelpers与ZODB一起使用?或者是否有其他用于ZODB分页的库?您不需要太多算法,是吗?您当前如何列出图像ID?只需将列表成批分割。@MartijnPieters不,我不认为我需要一个很棒的算法。目前,我将ZODB中的所有图像列为

我的金字塔ZODB应用程序中存储了图像。我有一个视图,列出了所有的图像,但是当我有很多图像时,这会导致页面渲染太长/太慢,因此我希望它们分页,比如说,每页15个图像


我已经看过很多关于webhelpers的web示例,但都是针对SQL的,有没有一种方法可以将webhelpers与ZODB一起使用?或者是否有其他用于ZODB分页的库?

您不需要太多算法,是吗?您当前如何列出图像ID?只需将列表成批分割。@MartijnPieters不,我不认为我需要一个很棒的算法。目前,我将ZODB中的所有图像列为root['images'].values()和tal:在视图中重复。我试试切片。但是,由于图像的收集将随着时间的推移而增长,我更希望有像webhelpers这样的东西来为我生成列表。因此,现在它正在使用字典
.values()
在这种情况下只是一个列表。没什么特别的!您可能希望应用一些排序(dicts是无序的),但webhelpers可以不加更改地将其转换为页面,没问题。@MartijnPieters好的,您的评论在这方面帮助很大。我有一个基本的分页:
collection=request.root['images'].values()images=Page(collection,Page=1,items\u per\u Page=30)
但似乎我无法生成类似这样的内容:
${images.pager(格式='link\u first~2~$link\u last'))
I get
NotImplementedError:没有可用的URL生成器
您没有指定URL生成器回调;请参见,您需要指定一个。