美文网首页
分页器的使用

分页器的使用

作者: Challis | 来源:发表于2018-10-11 21:09 被阅读0次

1.获取分页对象

page = request.args.get('page' or 1)
paginate = Goods.query.paginate(page,8)
paginate.items   # 商品对象信息,可以用于循环遍历获取商品信息
paginate.page:  # 当前的页码
paginate.total:   # 商品的总数量
paginate.per_page:   #总的页码数量
paginate.prev_num:  # 上一页的页码
paginate.next_num:   # 下一页的页码
paginate.has_prev:   # 是否有上一页
paginate.has_next:   # 是否有下一页

return render_template('home.html',paginate = paginate,endpoint='blue.home')

2.模板中的使用

{% macro pagination_widget(pagination, endpoint) %}
    <ul class="pagination">
        <li{% if not pagination.has_prev %} class="disabled"{% endif %}>
            <a href="{% if pagination.has_prev %}{{ url_for(endpoint,page = pagination.page - 1, **kwargs) }}
            {% else %}#{% endif %}">&laquo;
            </a>
        </li>
        {% for p in pagination.iter_pages() %}
            {% if p %}
                {% if p == pagination.page %}
                    <li class="active">
                        <a href="{{ url_for(endpoint, page = p, **kwargs) }}">{{ p }}</a>
                    </li>
                {% else %}
                <li>
                    <a href="{{ url_for(endpoint, page = p, **kwargs) }}">{{ p }}</a>
                </li>
                {% endif %}
            {% else %}
            <li class="disabled">
                <a href="#">&hellip;</a>
            </li>
            {% endif %}
        {% endfor %}
        <li{% if not pagination.has_next %} class="disabled"{% endif %}>
            <a href="{% if pagination.has_next %}{{ url_for(endpoint,page = pagination.page + 1, **kwargs) }}{% else %}#{% endif %}">&raquo;</a>
        </li>
    </ul>
{% endmacro %}
{{ pagination_widget.run(paginate,endpoint) }}

相关文章

网友评论

      本文标题:分页器的使用

      本文链接:https://www.haomeiwen.com/subject/ikeiaftx.html