在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Python/ flask-sqlalchemy分頁(yè),頁(yè)碼生成器返回值部分為None

flask-sqlalchemy分頁(yè),頁(yè)碼生成器返回值部分為None

flask 用sqlalchemy 查詢(xún)數(shù)據(jù)庫(kù)信心 并分頁(yè)顯示時(shí)

@ops.route("/servers/<int:page>", methods=["GET"])
def servers(page):
    if page is None:
        page = 1
    page_data = ServerInfo.query.order_by(ServerInfo.ExpiredTime).paginate(page=page, per_page=10)
    print(page_data)
    print(page_data.iter_pages())
    for v in page_data.iter_pages():
        print(v)
    return render_template('servers.html', page_data=page_data)

運(yùn)行時(shí)報(bào)錯(cuò),查看后臺(tái)輸出的時(shí)候 發(fā)現(xiàn)

<flask_sqlalchemy.Pagination object at 0x0000000007831F60>
<generator object Pagination.iter_pages at 0x000000000780DEB8>
1
2
3
4
5
None
8
9
127.0.0.1 - - [25/Apr/2018 14:30:50] "GET /servers/1 HTTP/1.1" 500 -
Traceback (most recent call last):
  File "C:\Python\Python36\lib\site-packages\flask\app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Python\Python36\lib\site-packages\flask\app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Python\Python36\lib\site-packages\flask\app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)

page_data.iter_pages() 生成器返回的值里面 有None

但是測(cè)試的時(shí)候 如果把 per_page設(shè)為 20 又是正常的 請(qǐng)問(wèn) 這是為什么呢?

回答
編輯回答
久不遇

paginate(page=page, per_page=10)
加個(gè) error_out=False 參數(shù)試試。

2017年1月14日 12:01
編輯回答
撿肥皂

這是Pagination. iter_pages方法的實(shí)現(xiàn)問(wèn)題,這個(gè)方法主要是用來(lái)渲染分頁(yè)欄的,你看看源碼就知道了

2017年3月2日 18:20