python flask 分页_Python---Flask--06--分页的实现

自动分页

flask自带paginate分页

paginate属性

- 当前页面(属性)

page

- 当前页面中的记录(属性)

items

- 上一页页码(属性)

prev_num

- 下一页页码(属性)

next_num

- 如果有上页返回True(属性)

has_prev

- 如果有下页返回True(属性)

has_next

- 查询得到总页数(属性)

pages

- 每一页显示记录的数量(属性)

per_page

- 查询返回的记录总数(属性)

total

@blue.route('/goodslist///')

def goodslist(num,per):

paginate = Goods.query.paginate(num,per)

return render_template('goodslist.html', paginate=paginate)

paginate中的方法

prev() 上一页的分页对象Pagination

next() 下一页的分页对象Pagination

iter_pages(left_edge=2,left_current=2,right_current=5,right_edge=2)

iter_pages 用来获得针对当前页的应显示的分页页码列表。

假设当前共有100页,当前页为50页,按照默认的参数设置调用iter_pages获得的列表为:

[1,2,None,48,49,50,51,52,53,54,55,None,99,100]

渲染模板

{% macro my_paginate(pagination, url) %}

{%if pagination.has_prev%}

上一页

{%else%}

上一页

{%endif%}

{%for page in pagination.iter_pages(1,1,3,1)%}

{%if page%}

{{page}}

{%else%}

{%endif%}

{%endfor%}

{%if pagination.has_next%}

下一页

{%else%}

下一页

{%endif%}

{% endmacro %}

宏的使用

{% extends '/home/layout/base.html' %}

{% import '/home/layout/page.html' as pg %}

{% block content %}

欢迎访问博客

在这里可以看到前端技术,后端程序,网站内容管理系统等文章,还有我的程序人生!

【今日推荐】从下载看我们该如何做事

一次我下载几部电影,发现如果同时下载多部要等上几个小时,然后我把最想看的做个先后排序,去设置同时只能下载一部,结果是不到一杯茶功夫我就能看到最想看的电影。 这就像我们一段时间内想干成很多事情,是同时干还是有选择有顺序的干,结果很不一样。同时...

{% for article in paginate.items %}

后端程序

{{article.title}}

{{ article.add_time }}

共120人围观

0个不明物体

可以用strtotime()把日期($date)转成时间戳,再用date()按需要验证的格式转成一个日期,来跟$date比较是否相同来验证这个日期的格式是否是正确的。所以要验证日期格式 ...

{% endfor %}

{{ pg.my_paginate(paginate, 'home.blog_list')}}

{% endblock %}

手动

@blue.route('/goodslist///')

def goodslist(num,per):

# 第num页

# 每页显示per行

goods = Goods.query.offset((num-1) * per).limit(per)

return render_template('goodslist.html', goods=goods

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值