【问题标题】:How to implement Google-style pagination on app engine?如何在应用引擎上实现谷歌风格的分页?
【发布时间】:2010-08-18 16:18:33
【问题描述】:

看到app gallery 上的分页了吗?它有页码和一个随页码增加的“开始”参数。大概这个应用程序是在 GAE 上制作的。如果是这样,他们是如何进行这种分页的? ATM 我正在​​使用游标,但在 URL 中传递它们是丑陋的。

【问题讨论】:

    标签: python google-app-engine pagination google-cloud-datastore bigtable


    【解决方案1】:

    您可以简单地将“start”参数作为偏移量传递给查询中的 .fetch() 调用。当人们深入研究结果时,效率会降低,但如果您不希望人们浏览超过 1000 个左右,它是可以管理的。您可能还需要考虑保留缓存,将查询和偏移量映射到游标,以便重复查询可以有效地获取下一组结果。

    【讨论】:

    • 你认为这是我发布的链接中的做法吗?我没想到他们会使用扩展性很差的东西。我会尝试缓存的想法。
    • 是的,我希望这就是画廊中的做法,原因与我提到的相同 - 大多数人不会浏览前几百个条目。您可以显示页码,因为您知道偏移量 - 只需除以结果数。
    【解决方案2】:

    Ben Davies's outstanding PagedQuery class 会做你想做的一切,甚至更多。

    【讨论】:

      猜你喜欢
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      相关资源
      最近更新 更多