[英]How to do pagination in python mako
我刚刚开始使用python制作网页。 目前,我正在使用Mako和CherryPy创建本地服务器来测试我编写的任何内容。
我为数据库添加了一个搜索页面,它可以产生从0到很多的任意数量的结果,因此显示的最佳方法是分页。 我快速浏览了一下,唯一能找到的帮助是这个网页: http : //makoframework.com/docs/3.6/learn-more : pagination
问题是我不明白它所显示的内容,到目前为止,我只使用了Mako用${variable}
表示法将${variable}
输入到html中。
我希望有经验的人可以向我展示示例,并解释这样做的方式和作用,因为我无法在线找到任何示例。
先感谢您!
首先,我希望我们俩都知道您的示例链接会指向具有相同名称Mako的PHP框架站点。
为了使分页工作,您需要为每个实体(或为简单起见,使用表)实现两个方法。 在简单情况下,第一个是count()
返回条目数,第二个是list(page, itemsPerPage)
返回给定页面的条目。
然后,您需要确定自己喜欢的分页样式。 有几种常见的样式。 例如, 滑动样式如下所示:
[1] 2 3 4 » →
← « 1 [2] 3 4 » →
← « 2 [3] 4 5 » →
← « 3 [4] 5 6 » →
← « 4 [5] 6 7 » →
← « 4 5 [6] 7 » →
← « 4 5 6 [7]
正如您在链接页面的模板摘要中所看到的那样,分页模板需要多个值,例如当前页面,同级页面,首页,最后一页等。因此,您需要计算具有条目总数的这些值条目数,当前页面,每页条目数和分页样式。 该实现是非常简单的数学运算。
当我需要如此简单的页面计算时,我在奶酪店找不到任何页面。 顺便说一下,只有复杂的事情试图做很多事情,我没有问过。 因此,我写了PageCalc ,它对几种分页样式进行了如此简单的计算。 还有一个使用Jina2的CherryPy示例应用程序 ,但是如果您愿意的话,可以很容易地将其切换到Mako。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.