一、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
