Flask-同一页面上的多个分页

时间:2014-02-24 08:22:11

标签: python flask

目前,我使用

对一个对象进行分页
articles = g.user.articles().paginate(page, ARTICLES_PER_PAGE, False)

并在视野中

@app.route('/index/<int:page>')

我想在同一页面上分页几个对象。我怎样才能做到这一点?感谢。

2 个答案:

答案 0 :(得分:0)

您可以轻松完成,将每个表分开处理。

articles = g.user.articles().paginate(page, ARTICLES_PER_PAGE, False)
other_objects = YourModel.query.paginate(page, ARTICLES_PER_PAGE, False)

它对你有用吗?

答案 1 :(得分:0)

假设您想要单独分页(也就是说,用户可以转到一个列表的第3页和另一个列表的第15页),您必须调整@app.route以便记住所有其他名单的当前位置,如下:

@app.route('/index/<int:page_of_list1>/<int:page_of_list2>/<int:page_of_list3>')
def index(page_of_list1, page_of_list2, page_of_list3):

然后使用这些排名来确定您的数据查询(index()内):

   list1 = g.user.articles().paginate(page_of_list1, ARTICLES_PER_PAGE, False)
   list2 = some_other_query.paginate(page_of_list2, ARTICLES_PER_PAGE, False)
   list3 = yet_another_query.paginate(page_of_list3, ARTICLES_PER_PAGE, False)

如果你总是想为每个列表使用相同的位置(所以一个列表的第3页,总是在list2和list3的第3页),你可以使用代码的后半部分,并在所有查询中使用page

请根据存储在其中的内容将这些list_...变量重命名为更有用的内容