GAEでPaginationでPaginationの方法はわかったものの、似たようなコードをあちこちに書くのは嫌なのでまとめてみた。Paginateされたアイテムを表示する場所が1箇所増えるごとにviews.pyが2文、テンプレートが1行増える。 現状の実装ではソートに使うキー(order_by引数)がdb.DateTimeProperty1つで1秒に1回以上の投稿がないことを前提にしているが、より一般的にはこれがリストを受け取るようにすることと、bookmarkの文字列へのシリアライズとデシリアライズの方法を渡せるようにする必要がある。まあ必要になった時に作る。 引数のデフォルト値は、こういうプロパティを付けている時に便利なように設定してある。これは僕がそうしてるから。 class Item(polymodel.PolyModel): (中略) created_on = db.DateT