在web开发中,分页是必不可少的功能,Flask实现展示内容的分页也非常简单,这里通过实例来学习一下Flask如何为网站分页。
首先,自定义一个分页工具类page_utils:
自定义方法中的参数:
current_page——表示当前页。
total_count——表示数据总条数。
base_url——表示分页URL前缀,请求的前缀获取可以通过Flask的request.path方法,无需自己指定。
例如:我们的路由方法为@app.route('/test'),request.path方法即可获取/test。
params——表示请求传入的数据,params可以通过request.args动态获取。
例如:我们链接点击为:http://localhost:5000/test?page=10,此时request.args获取数据为ImmutableMultiDict([('page', u'10')])
per_page_count——指定每页显示数。
max_pager_count——指定页面最大显示页码
接着,我们使用一个测试方法来使用这个工具类,达到分页效果,test.py:
在上面的程序中,li为我们要分页的对象,数组list,我们获取到这个list之后,把他用工具类中的起止方法包起来。
传递数据用包装后的list,这样就达到了需要哪一段数据我们传递哪一段的效果,包装的方法:index_list = li[pager_obj.start:pager_obj.end]
我们用一个HTML页面去显示它,分页样式不是重点,我们这里直接引入bootstrap封装好的分页效果,代码如下:
这样一个分页的效果就做好了,我们查看效果,如下图:
领取专属 10元无门槛券
私享最新 技术干货