SQLAlchemy.order_by.paginate(page=1,per_page=3)
paginate后类型是flask_sqlalchemy.Pagination
要获得信息,查了之后paginate要.items,才是平时的信息
data2 = data.items
平时的信息、分页要分别传过去模板
return data2=data2,paginate=paginate
可以列表传过去
{%import "hong.html" as pg%}
{{pg.my_paginage(pagination,"app.art_list")}}
my_paginage是一个命名
pagination是数据:可以是paginate或者paginate.items格式
art_list是准备后面构造url_for方法的,app是蓝图名、art_list是方法名
{%macro my_paginate1(pagination1, url)%}
{% for a in pagination1.items %}
<td>{{a.nickname}}</td>
{% endfor %}
<nav>
<ul class="pagination1">
{%if pagination1.has_prev%}
<li class="page-item active"><a class="page-link"
href="{{url_for(url, page2=pagination1.page-1)}}">上一页</a></li>
{%else%}
<li class="page-item disabled"><a class="page-link" href="#">上一页</a></li>
{%endif%}
{%for page in pagination1.iter_pages(1,1,3,1)%}
{%if page%}
<li class="page-item {%if page==pagination1.page%}active{%endif%}"><a class="page-link"
href="{{url_for(url, page2=page)}}">{{page}}</a></li>
{%else%}
<li class="page-item disabled"><a class="page-link" href="#">…</a></li>
{%endif%}
{%endfor%}
{%if pagination1.has_next%}
<li class="page-item active"><a class="page-link"
href="{{url_for(url, page2=pagination1.page+1)}}">下一页</a></li>
{%else%}
<li class="page-item disabled"><a class="page-link" href="#">下一页</a></li>
{%endif%}
</ul>
</nav>
{%endmacro%}
pagination1.items内容
pagination1.has_prev的has_prev 是否有上一页 True/False
pagination1.has_next的has_next 是否有下一页 True/False
items 当前页面中的所有记录(比如当前页上有5条记录,items就是以列表形式组织这5个记录)
query 当前页的query对象(通过query对象调用paginate方法获得的Pagination对象)
page 当前页码(比如当前页是第5页,返回5)
prev_num 上一页页码
next_num 下一页页码
has_next 是否有下一页 True/False
has_prev 是否有上一页 True/False
pages 查询得到的总页数 per_page 每页显示的记录条数
total 总的记录条数
iter_page(1,1,3,1)当前页是第4页,[1,None,3,4,5,6,None,9]