pagination.py 623 B

12345678910111213141516
  1. from flask import request
  2. def get_pagination_params(default_page=1, default_per_page=5):
  3. """通用分页参数获取函数"""
  4. page = request.args.get('page', default_page, type=int)
  5. per_page = request.args.get('per_page', default_per_page, type=int)
  6. return page, per_page
  7. def adjust_page_if_needed(query, page, per_page):
  8. """如果请求的页码大于总页数,调整为最后一页"""
  9. operations_total = query.count()
  10. pages = (operations_total // per_page) + (1 if operations_total % per_page > 0 else 0)
  11. if page > pages:
  12. page = pages
  13. return page, operations_total, pages