当前位置:Gxlcms > Python > flask分页的详细介绍

flask分页的详细介绍

时间:2021-07-01 10:21:17 帮助过:52人阅读

在我们学习的过程中会遇到这么样的问题,就是在我们学习的过程中会发现需要分页处理,这里呢,给大家介绍书上说的分页。

  1. @app.route('/',methods=['GET'])
  2. @app.route('/<int:page>')
  3. def home(page=1):
  4. pagination=Post.query.order_by(Post.publish_date.desc()).paginate(page, per_page=10,error_out=False)
  5. posts = pagination.items
  6. link,tuijian_post,fenlei=get_tui_link()
  7. return render_template('home1.html',
  8. posts=posts,
  9. pagination=pagination,
  10. tuijian_post=tuijian_post,fenleis=fenlei,
  11. links=link)

  这是我从数据库读取的分页的数据,那么我们怎么分页呢,我们看看书上怎么说

那么我们需要用一个单独页面取保存我们分页相关的,。

  1. {% macro pagination_widget(pagination, endpoint) %}
  2. <ul class="pagination">
  3. <li{% if not pagination.has_prev %} class="disabled"{% endif %}>
  4. <a style='background-color: lightgoldenrodyellow;color: brown;' href="{% if pagination.has_prev %}{{ url_for(endpoint,
  5. page = pagination.page - 1, **kwargs) }}{% else %}#{% endif %}">
  6. «
  7. </a>
  8. </li>
  9. {% for p in pagination.iter_pages() %}
  10. {% if p %}
  11. {% if p == pagination.page %}
  12. <li class="active">
  13. <a style='background-color: lightgoldenrodyellow;color: brown;' href="{{ url_for(endpoint, page = p, **kwargs) }}">{{ p }}</a>
  14. </li>
  15. {% else %}
  16. <li>
  17. <a style='background-color: lightgoldenrodyellow;color: brown;' href="{{ url_for(endpoint, page = p, **kwargs) }}">{{ p }}</a>
  18. </li>
  19. {% endif %}
  20. {% else %}
  21. <li class="disabled"><a href="#">…</a></li>
  22. {% endif %}
  23. {% endfor %}
  24. <li{% if not pagination.has_next %} class="disabled"{% endif %}>
  25. <a style='background-color: lightgoldenrodyellow;color: brown;' href="{% if pagination.has_next %}{{ url_for(endpoint,
  26. page = pagination.page + 1, **kwargs) }}{% else %}#{% endif %}">
  27. »
  28. </a>
  29. </li>
  30. </ul>
  31. {% endmacro %}

  那么我们怎么使用呢

  1. {% import "mac.html" as macros %}

在我们的循环后加入下面的

效果如图

以上就是flask 分页的详细介绍的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行