一、paginate分页类
经典错误:
flask-sqlalchemy分页,页码生成器返回值部分为None
因为iter_pages 是一个迭代器 返回分页栏上的页码数 如果显示不下 返回None
则在前端这样显示即可:
{% for p in pagination.iter_pages() %}
{% if p %}
{% if p == pagination.page %}
<li class="active">
<a href="{{ url_for(endpoint, page = p, **kwargs) }}{{ fragment }}">{{ p }}</a>
</li>
{% else %}
<li>
<a href="{{ url_for(endpoint, page = p, **kwargs) }}{{ fragment }}">{{ p }}</a>
</li>
{% endif %}
{% else %}
<li class="disabled"><a href="#">…</a></li>
{% endif %}
{% endfor %}
paginate 分页类 返回 pagination分页对象
参数:
page 必须参数 代表当前的页码
per_page 每页显示数据的条数 默认为20条
error_out 当分页查询出现异常的时候 是否抛出错误 默认抛出 改为Flase
pagination分页对象 属性
items 当前分页的所有数据
page 当期页码
pages 总页码数
total 总记录数
per_page 每页显示数据的条数
prev_num 返回上一页的页码
next_num 返回下一页的页码
has_prev 是否存在上一页
has_next 是否存在下一页
pagination分页对象 方法
prev 上一页的分页对象
next 下一页的分页对象
iter_pages 是一个迭代器 返回分页栏上的页码数 如果显示不下 返回None