@app.route('/') @login_required def index(): page=request.args.get('page',1,type=int) pagination=User.query.order_by(User.createTime.desc()).paginate(page,per_page=12,error_out=False) users=pagination.items return render_template('index.html', name=current_user.username,users=users,pagination=pagination)
items 记录 query 分页的查询源 page 当前页数 prev_num next_num has_next has_prev pages 总页数 per_page 每页的记录数量 total 总记录数
image.png
{% 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 %}">« </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="#">…</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 %}">»</a> </li> </ul> {% endmacro %}
{% import "_macros.html" as macros %} ..........其他代码省略........... {%if pagination%} <div class="pagination"> {{ macros.pagination_widget(pagination, '.index') }} </div> {% endif %}