繁体   English   中英

如何在python mako中进行分页

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM