5x5 Dota 2プレーヤー アイテムのバックパック グリッドを表示する AJAX ページネーション テンプレートを作成しています(スクリーンショットを参照してください - これは Steam によって作成されたものです)。
問題は、ページに空のスロットがある可能性があるということです。
次のコードはそれを処理しません。2 番目のスロットが空の場合 ( valueItem
のslot_nb
フィールドがない場合2
)、valueを持つItem
オブジェクトは、2 番目のページに表示されるべきときに最初のページに表示されます (slot_nb インデックスは から始まります) 。slot_nb
25
0
def get_pagination_page(page=1):
items = Items.objects.all()
paginator = Paginator(items, 25) # 25 items per page
try:
page = int(page)
except ValueError:
page = 1
try:
items = paginator.page(page)
except (EmptyPage, InvalidPage):
items = paginator.page(paginator.num_pages)
return items
私が基本的に望んでいるのは、各ページをレンダリングすることですItem.objects.filter(slot_nb=range(((page_nb*25)-25)), ((page_nb*25)-1))
(page_nb
1から始まります)
このようなことを達成することは可能ですか?