[英]Replacing webhelpers with paginate: how to port PageURL_WebOb? (py2 to py3)
如您在这里阅读的,Python 2包webhelpers.paginate
在Python 3下不再存在。相反,它们为Python 3创建了一个额外的模块paginate
(可在此处找到)。
在Python 2下使用pyramid
,代码如下所示:
# request is a pyramid request
def get_paginator(request, page=1, items_per_page=10):
page_url = PageURL_WebOb(request)
return Page(sql-query-here, page, url=page_url, items_per_page=items_per_page)
在Python 3下,他们从paginate
删除了PageURL_WebOb
。 因此,有可能直接从request
检索page_url
吗?
正确的Python 3端口会是什么样子?
因此,与史蒂夫·皮尔西的帮助和这个问题从官方paginate
混帐我能够将它移植的方式如下:
# request is a pyramid request
def get_paginator(request, page=1, items_per_page=10):
def url_maker(page_number):
query = request.GET
query["page"] = str(page_number)
return request.current_route_url(_query=query)
return Page(sql-query-here, page=page, items_per_page=items_per_page, url_maker=url_maker)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.