flask的分页
作者:互联网
#后端代码
@book.route('/list',methods=['GET','POST']) # 路由定义!
def index():
if request.method =='GET':
paginate = Books.query.paginate(1,3) # 默认查询第1页
page = int(request.args.get('page',1))
if page<0:
page = 1 #如果输入的小于0 则默认显示第一页
if page >= paginate.pages: # 判断是否大于总页数
page = paginate.pages #如果大于总页数 则显示最大的
paginate = Books.query.paginate(page,3)
books = paginate.items #当前页数据
return render_template('books.html',books=books,paginate=paginate) # 跳转到模板!
#便利显示后端传的内容
<ul>
{% for item in books %}
<li>id:{{item.id}},书名:{{item.name}},作者名:{{item.author.name}} <a href="del_blog/{{ item.id }}">删除</a><a href="#">修改</a></li>
{% endfor %}
</ul>
#前端代码 下边的 上一页下一页和页数
<ul class="pg">
{% if paginate.has_prev%}
<li><a href="/book/list?page={{paginate.prev_num}}">上一页</a></li>
{%endif%}
{%for i in paginate.iter_pages()%}
{%if paginate.page == i %}
<li><a href="/book/list?page={{i}}" class="current">{{i}}</a></li>
{%else%}
<li><a href="/book/list?page={{i}}">{{i}}</a></li>
{%endif%}
{%endfor%}
{% if paginate.has_next%}
<li><a href="/book/list?page={{paginate.next_num}}">下一页</a></li>
{%endif %}
标签:分页,flask,paginate,页数,pages,item,books,page 来源: https://www.cnblogs.com/babyfyy/p/13950604.html