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