Flask用户登陆系统(四)----分页显示

参考教程:https://blog.csdn.net/weixin_42126327/article/details/81735659

我们提及一下重点:

1.

我们在/index首页中显示所有的当前登陆用户的信息就需要一个关键的函数:

def followed_posts(self):
        followed=Post.query.join(followers,(followers.c.followed_id==Post.user_id)).filter(
                followers.c.followed_id==self.id)#所有被关注者的信息(POST)
        own = Post.query.filter_by(user_id=self.id)#然后筛选我们需要寻找的被关注者的信息
        return followed.union(own).order_by(Post.timestamp.desc())#union是对两个解集进行合并

所以我们就可以这样来获取当前用户的所有Post信息:

posts = current_user.followed_posts().all()

2.Flask-SQLAlchemy的paginate()方法原生就支持分页,具体还是看参考教程,写的很详细

3.

 还记得我曾提到过paginate()的返回是Pagination类的实例吗? 到目前为止,我已经使用了此对象的items属性,其中包含为所选页面检索的用户动态列表。 但是这个分页对象还有一些其他的属性在构建分页链接时很有用:

  • has_next: 当前页之后存在后续页面时为真
  • has_prev: 当前页之前存在前置页面时为真
  • next_num: 下一页的页码
  • prev_num: 上一页的页码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值