1

ページネーションを処理するためにアプリに django-pagination を実装しましたが、すべて問題ありません。私が理解できないことの 1 つは、15、30、45、60、100、またはすべてのレコードなど、ページごとのレコードに特定の値をユーザーが選択できるようにする方法です。

これについて正しい方法は何ですか?

4

1 に答える 1

3

Paginator を作成するときは、ページあたりのレコード数を渡します。この値をユーザーから取得して保存し、渡す必要があります。

たとえば、ユーザー設定である可能性があります。その場合は、ユーザー設定モデルに追加し、フォームに収集して保存し、データベースからモデルを取得してから、ページネーターを作成して渡します。

または、ページ上の要素から設定されたセッション変数である可能性もあります。この場合も、要素をページに配置し、それを使用してセッション変数を設定し、それを Paginator オブジェクトに渡します。

この質問でカバーされているようです:

Django の柔軟なページネーション

編集:コメントを読んでいます。

ソースを読むと、

http://code.google.com/p/django-pagination/source/browse/trunk/pagination/templatetags/pagination_tags.py

タグ autopaginate は、数値またはテンプレート変数を取ります。

    if isinstance(paginate_by, int):
        self.paginate_by = paginate_by
    else:
        self.paginate_by = template.Variable(paginate_by)

したがって、ビューでテンプレート変数を渡して'page_by':10使用してみてください。{% autopaginate list page_by %}その後page_by、クエリ文字列、db、または必要なものから設定できます。

于 2009-12-11T15:45:00.600 に答える