Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用paginate替换webhelpers:如何移植PageURL_WebOb?(py2至py3) 将Python2移植到Python3_Python_Python 3.x_Python 2.7_Pyramid - Fatal编程技术网

用paginate替换webhelpers:如何移植PageURL_WebOb?(py2至py3) 将Python2移植到Python3

用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

正如您可以阅读的那样,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(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)
有帮助吗?有帮助吗?