私は現在、悪名高い "ページネーション"テクニックを利用するDjangoアプリケーションを開発中です。私はdjango.core.paginatorモジュールの仕組みを理解しようとしています。Djangoページネーションと "現在のページ"
私は質問モデルでアプリケーションを持っています。私はこのページャーを使用してすべての質問をリストアップします。ページあたり20の質問があります。
私は多くのページのように、何らかの形で現在のページを強調したい "... 2、3、4 、5、6、..." と私は別のページをリストビューでdef show_question(question_pk):
questions = Question.objects.all()
paginator = Paginator(questions, 20)
page = ... # Somehow figure out which page the question is on
return render_to_response('show_question.html', { 'page' : page })
、行う。私が知りたい二つのことが本当にあります
:
- どのように私は、Djangoは質問がで配置されているページを見つけ出す作るのですか?
- テンプレートを書き込んで、現在訪問しているページを適切に「強調表示」するにはどうすればよいですか?
編集:申し訳ありませんが、この質問の一部を忘れました。現在のページ以外のページも/questions/{{ that_page.start_index }}
へのリンクとしたいと思います。したがって、基本的にすべてのページリンクは、そのページの最初の質問にリンクします。
のインスタンスどのようなあなたは、現在を除くすべてのページは、そのページ上の質問にリンクする意味ですか?ユーザーはどのようにページを変更しますか? –
私はpage = 4 GETリクエストパラメータなどを渡したくありません。私は質問4の/ question/4のみを使用し、そのページがどのページに表示されているかを調べます。これがページリンクが実際に質問に向けられている理由です。 –
多くの質問が追加されるか、ソートされる可能性があるため、ページの変更に関する最初の質問はありませんか? REST/HTTPの観点からは、URLが実際のリソースを参照していないことを意味します。このため、DjangoはGETパラメータを使用します.URLが識別するリソースの表示特性に注釈を付けるためです。 –