我有一份清单。 (该列表来自存储在memcache中的数据库查询,理想情况下我不会再次查询数据库。)
x = [thing1, thing2, thing3, ... thing100]
我正在使用此功能一次生成列表中的前10个项目。
def grouper(page_size, iterable):
page = []
for item in iterable:
page.append(item)
if len(page) == page_size:
yield page
page = []
yield page
我正在调用函数
group = grouper(10, x)
我将结果提交给我的html,如此
self.render("index.html", x-items = group.next())
在jinja2中我正在遍历group.next()并正确显示列表中的前10个项目。
我的问题是,我在html('next'链接)中添加了什么代码才能让它再次运行该功能,并显示接下来的10个项目?
答案 0 :(得分:2)
当您查询数据库并且需要分页时,您使用游标。数据存储区和NDB都支持游标。因此,无需先在memcache中保存查询。
但是如果你需要先将它存储在memcache中,你可以使用自己的光标。另请参阅Nick Johnson的这篇博文:http://blog.notdot.net/2010/02/New-features-in-1-3-1-prerelease-Cursors