0

5x5 Dota 2プレーヤー アイテムのバックパック グリッドを表示する AJAX ページネーション テンプレートを作成しています(スクリーンショットを参照してください - これは Steam によって作成されたものです)。

Dota 2 プレーヤー バックパック

問題は、ページに空のスロットがある可能性があるということです。

次のコードはそれを処理しません。2 番目のスロットが空の場合 ( valueItemslot_nbフィールドがない場合2)、valueを持つItemオブジェクトは、2 番目のページに表示されるべきときに最初のページに表示されます (slot_nb インデックスは から始まります) 。slot_nb250

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_nb1から始まります)

このようなことを達成することは可能ですか?

4

1 に答える 1