2016-06-12 17 views
0

Djangoを使用して簡単なブログアプリを構築しています。 このアプリは、次のビュー間で共有されているメインテンプレートblog.htmlあります、ブログの
メインページの最後の記事Djangoで異なるビューに同じページ番号を共有

  • 検索が表示されます。

    • ブログ/blog/[page number] URLを)(url:/search/<query>/[page number]
      クエリに一致する記事を表示します

    • カテゴリ(URL:/category/<category name>/[page number]
      はそれぞれ、この見解が異なると機能Paginatorを毎回使用して得られたオブジェクトpageでテンプレートblog.htmlを提供し、特定のカテゴリ

    から記事を表示します。オブジェクトリスト(ビューに応じて)。ここで

    は私の問題である:
    テンプレートblog.htmlは、私はすべてのビューでurl_next_pageurl_previous_pageの値エレガントな方法で定義することができますどのようにページャ

    <ul class="pager"> 
        {% if page.has_previous %} 
         <li class="previous"> 
          <a href="{{ url_previous_page }}" class="btn btn-primary" >&larr; Older</a> 
         </li> 
        {% endif %} 
    
        {% if page.has_next %} 
         <li class="next"> 
          <a href="{{ url_next_page }}" class="btn btn-primary" >Newer &rarr;</a> 
         </li> 
        {% endif %} 
    </ul> 
    

    が含まれていますか?

  • 答えて

    0

    このような次のボタンと前のボタンのリンクを指定する必要はありません。あなたの意見で

    <div class="pagination-wrap"> 
        <span class="pagination-links"> 
         {% if page_obj.has_previous %} 
          <a href="?page={{ page_obj.previous_page_number }}" class="pagination-nav previous"></a> 
         {% endif %} 
         <span class="current"> 
          {{ page_obj.number }} of {{ page_obj.paginator.num_pages }} 
         </span> 
         {% if page_obj.has_next %} 
          <a href="?page={{ page_obj.next_page_number }}" class="pagination-nav next"></a> 
         {% endif %} 
        </span> 
        <div>{{ page_obj.start_index }} to {{ page_obj.end_index }} of {{ page_obj.paginator.count }}</div> 
    </div> 
    

    、あなたが指定する必要があるすべてはpaginate_by = 15とによってページ付けするオブジェクトの数です:私はこのようなものであるためにあなたのページネーションのコードを変更することを示唆しています。

    本当にしたい場合は、あなたが望むURLを返すことができるメソッドを持つリストビュー用のミックスインを作成することができます。

    +0

    ありがとうございます。問題は、ページがクエリパラメータとして指定されていないが、url(example:/ category/mycategory/3)の一部として指定されているということです – TTK

    関連する問題