ジャンゴ1.11.4ページネーションとgetパラメータ
私は= "GET" メソッドを検索フォームを構築しています。 検索フォームには多数のフォームがあります。 この入力値は、URLの取得パラメータとして送信されます。
ページネーションを取得する方法が問題です。データベースには何千ものオブジェクトが含まれています。ページネーションが必要です。
https://docs.djangoproject.com/en/1.11/topics/pagination/#using-paginator-in-a-view
それは次のように提案する:
<a href="?page={{ contacts.previous_page_number }}">previous</a>
しかし、これはすべてのGETパラメータを台無しにする
これは、ドキュメントを教えてくれるものです。
私は何を発明するために管理していることである。
<a href="{{ request.get_full_path }}&page={{ object_list.previous_page_number }}">previous</a>
これは動作します。しかしこれはうんざりです。ページを前後に切り替えると、次のようなURLが生成されます。
page=2&page=3&page=2
Googleがこの問題をどのように管理しているかを見てきました。 URLの真ん中には、開始= 30があります。このパラメータを変更するには、start = 20、start = 40とします。だから、彼らは切り替える。
Djangoでパラメータを保持してページを切り替える方法を理解できたら助かりますか?もちろん、エレガントな方法で。
は、私は、この目的のためのGithub上で再利用するテンプレートタグを持っている:https://gist.github.com/benbacardi/d6cd0fb8c85e1547c3c60f95f5b2d5e1 – Ben