from flask import Blueprint, render_template
from App.models import User
bp = Blueprint("bp",__name__)
@bp.route("/list/")
@bp.route("/list/<int:page>/")deflist_user(page=1):# 搞清楚頁碼和記錄關係:limit (page-1)*10,10# 獲取分頁對象
pagination = User.query.paginate(page,2)print(pagination.__dict__)#return render_template("list.html", **locals())return render_template("list1.html",**locals())
list.html
<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><tableborder="1"cellspacing="0">
{% for user in pagination.items %}
<tr><td>{{ user.username }}</td><td>{{ user.password }}</td></tr>
{% endfor %}
</table><div>
{% for current in pagination.iter_pages() %}
<ahref="{{ url_for('bp.list_user',page=current) }}">{{ current }}</a>
{% endfor %}
</div></body></html>
list1.html
{% extends "bootstrap/base.html" %}
{% block content %}
<divclass="bs-example"data-example-id="simple-table"><tableclass="table"><caption>Optional table caption.</caption><thead><tr><th>Last Name</th><th>Username</th></tr></thead><tbody>
{% for user in pagination.items %}
<tr><td>{{ user.username }}</td><td>@{{ user.password }}</td></tr>
{% endfor %}
</tbody></table></div>
{% from "page.html" import show_pagination %}
{{ show_pagination(pagination,'bp.list_user') }}
{% endblock %}
page.html
{% macro show_pagination(pagination, endpoint) %}
<navaria-label="Page navigation"><ulclass="pagination">
{# 上一頁 #}
<li {% if not pagination.has_prev %}class="disabled"{% endif %}>
<ahref="{% if pagination.has_prev %}{{ url_for(endpoint, page=pagination.prev_num, **kwargs) }}{% else %}#{% endif %}"aria-label="Previous"><spanaria-hidden="true">«</span></a></li>
{# 中間頁碼 #}
{% for p in pagination.iter_pages() %}
{% if p %}
<li {% if pagination.page == p %}class="active"{% endif %}><ahref="{{ url_for(endpoint, page=p, **kwargs) }}">{{ p }}</a></li>
{% else %}
<li><ahref="#">…</a></li>
{% endif %}
{% endfor %}
{# 下一頁 #}
<li {% if not pagination.has_next %}class="disabled"{% endif %}>
<ahref="{% if pagination.has_next %}{{ url_for(endpoint, page=pagination.next_num, **kwargs) }}{% else %}#{% endif %}"aria-label="Next"><spanaria-hidden="true">»</span></a></li></ul></nav>
{% endmacro %}