不理解的Flask分页报错

最近项目开发遇到一个非常不合理的问题,问题报错为:
werkzeug.routing.BuildError: Could not build url for endpoint 'home.order'. Did you forget to specify values ['page']?
看着报错可以理解是没有指定page.
但是这是我在修改per_page时会出现的报错。比如我订单分页per_page=5时不会报错,当我per_page=4时(数据条数22条),正常不报错,但是点击第六页报上面的错误,更离谱的是当我per_page=1时,直接报错,第一页都没有办法访问,请问问题出在哪里、

阅读 2.4k
2 个回答

问题主要出在没有对Flask分页熟练掌握,在Flask分页中:

  分页器,它不可能依次返回所有的页码。因为你也不可能在页面上展示超过20个以上的页码,这样没有意义。所以它会返回None,让你知道,这时候应该展示省略号了,接下来就是剩下的部分。按照iter_pages函数传入参数的不同,得到的结果也不同,有可能是只展示前几个,有可能会展示首尾的几个,也有可能展示首尾和中间的。
具体解决过程,参考个人博客:http://www.simplesay.xin/a-290.html
宣传栏