用paginate替换webhelpers:如何移植PageURL_WebOb?(py2至py3) 将Python2移植到Python3
正如您可以阅读的那样,Python2包用paginate替换webhelpers:如何移植PageURL_WebOb?(py2至py3) 将Python2移植到Python3,python,python-3.x,python-2.7,pyramid,Python,Python 3.x,Python 2.7,Pyramid,正如您可以阅读的那样,Python2包webhelpers.paginate在Python3下不再存在。 相反,他们为Python3(可以找到)创建了一个额外的模块paginate Python 2 在Python 2下使用pyramid时,代码如下所示: # request is a pyramid request def get_paginator(request, page=1, items_per_page=10): page_url = PageURL_WebOb(reques
webhelpers.paginate
在Python3下不再存在。
相反,他们为Python3(可以找到)创建了一个额外的模块paginate
Python 2
在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
在Python3下,他们从paginate
中删除了PageURL\u WebOb
。
那么,是否有可能直接从请求中检索页面url
Python 3的正确端口是什么样子的?因此,在Steve Piercy和官方的paginate
git的帮助下,我能够以以下方式对其进行端口连接:
# 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)
因此,在Steve Piercy的帮助下,通过官方的paginate
git,我能够以以下方式移植它:
# 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)
有帮助吗?有帮助吗?