首页 > 其他 > 详细

flask 分页 初学

时间:2015-12-10 12:45:42      阅读:115      评论:0      收藏:0      [点我收藏+]

 html 

 

 

{% if r_dict.currentPage == 1 %}
<center>
当前为第一页&nbsp;&nbsp;
1&nbsp;&nbsp;
{# {% n = r_dict.current+5 %}#}
{# {{ n = r_dict.current + 5 }}#}
{# {% for i in range(2,6) %}#}
{% for i in range(r_dict.nextPage,r_dict.bindexofpage) %}
<a href="/?page={{ i }}">{{ i }}</a>
{% endfor %}
<a href="/?page={{ r_dict.nextPage }}">下一页</a>
<a href="/?page={{ r_dict.total_page }}">末页</a>
</center>
{% elif r_dict.currentPage == r_dict.total_page%}
<center>
<a href="/?page=1">首页</a>
{% for i in range(r_dict.pindexofpage,r_dict.bindexofpage) %}
<a href="/?page={{ i }}">{{ i }}</a>
{% endfor %}
{{ r_dict.currentPage }}
{# {% for i in range(r_dict.nextpage,r_dict.bindexofpage) %}#}
{# <a href="/?page={{ i }}">{{ i }}</a>#}
{# {% endfor %}#}
<a href="/?page={{ r_dict.prePage }}">上一页</a>
当前为最后一页
</center>
{% else %}
<center>
<a href="/?page=1">首页</a>
<a href="/?page={{ r_dict.prePage }}">上一页</a>
{% for i in range(r_dict.pindexofpage,r_dict.currentPage) %}
<a href="/?page={{ i }}">{{ i }}</a>
{% endfor %}
{{ r_dict.currentPage }}
{% for i in range(r_dict.nextPage,r_dict.bindexofpage) %}
<a href="/?page={{ i }}">{{ i }}</a>
{% endfor %}
<a href="/?page={{ r_dict.nextPage }}">下一页</a>
<a href="/?page={{ r_dict.total_page }}">末页</a>
</center>
{% endif %}




views



@main.route(‘/‘)
def list():
page = int(request.args.get(‘page‘, ‘1‘)) # 这是get过来page的值,如果为空,就给默认值1
POSTS_PER_PAGE = 6 # 定义显示多少条数据和数据库里返回的数据条数
if page < 1: # 因为我们返回的page值,不能小于1
page = 1 # 当小于1时,我们就重新赋值等于1
PRE_PAGE = (page - 1) * POSTS_PER_PAGE
END_PAGE = page * POSTS_PER_PAGE
prePage = page - 1
currentPage = page
nextPage = page + 1
# paginate = OrderInfo.query.order_by(desc(OrderInfo.order_id))[PRE_PAGE:END_PAGE]
paginate = OrderInfo.query.order_by(desc(OrderInfo.order_id)).paginate(page, POSTS_PER_PAGE, False)

######以上是判断,.order_by(desc(OrderInfo.order_id))这个就是数据反向排序#############
all_datas = paginate.items # 取出需要显示的数据

total_count = OrderInfo.query.count()
total_page = (total_count + 1) / POSTS_PER_PAGE
# total = paginate.total # 数据总条数
# total = (total+1) / 10.0 # 页数的定义
# total = int(math.ceil(total)) # 取整进一

pindexofpage = 1
bindexofpage = 1
if currentPage - 4 > 0:
pindexofpage = currentPage - 4
if currentPage + 5 > total_page:
bindexofpage = total_page
else:
bindexofpage = currentPage + 6
# bindexofpage = bindexofpage + 1
return render_template(‘index.html‘, r_dict=locals(), ) # 渲染数据

flask 分页 初学

原文:http://www.cnblogs.com/python5124/p/5035275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!