flask 使用ajax实现分页,Flask用paginate实现数据分页

flask中用paginate可实现数据分页效果,首先梳理一下paginate的知识点。

1.paginate的用法

paginate(page, per_page, error_out=True)

>>>page 当前页数

>>>per_page 每页显示的条数

>>>error_out 是否打印错误信息

2.paginate的属性

a)paginate.page 当前页数

b)paginate.pages 总页数

c)paginate.total 数据总条数

d)paginate.has_prev 是否存在上一页

返回布尔值

e)paginate.has_next 是否存在下一页

返回布尔值

f)paginate.iter_pages() 所有页码

返回列表 如[1, 2, 3, 4]

g)paginate(page, per_page,error_out).items

返回当前页的所有数据

实例

a)视图

@user.route('/manage', methods=['GET', 'POST'])

def manage():

...

page = int(request.args.get('page', 1))

paginate = User.query.join(UserDetail, User.user_id == UserDetail.user_id).filter(

User.username.like("%{}%".format(username)) if username is not None else '',

User.user_type == user_type).paginate(page, PER_PAGE, False)

if paginate.items:

return render_template('memberManage.html', data=paginate.items, paginate=paginate)

else:

return render_template('empty.html', post_type=type_name)

b)html页面解析数据

...

Page {{ paginate.page }} of {{ paginate.pages }}

{% if paginate.has_prev %}

href="{{ url_for('user.manage') }}?page=1">

{% else %}

{% endif %}

{% if paginate.has_next %}

{% else %}

{% endif %}

...

大功告成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值