Note that there are some explanatory texts on larger screens.

plurals
  1. PODjango Pagination Display Issue: all the page numbers show up
    primarykey
    data
    text
    <p>is there any way to make page display of django pagination better? I followed the [doc][1] to create it, but hoping there is simple way to organize page number display.</p> <p>Currently, it shows all the pages, say I have 10 pages, then<br> prev 1 2 3 4 5 6 7 8 9 10 next</p> <p>If there is 100, then it will show all 100, which is pretty crazy.</p> <p>Is there any way simple way to display it shorter? </p> <p>example:</p> <p>prev 1 2 3 ... <strong>67</strong> ... 98, 99, 100 next (67 is the current page)</p> <p>prev 1 2 3 ... 65 66 <strong>67</strong> 68 69 ... 100 next </p> <p>It doesn't have to look like above examples, but just don't want it to show every single page number without limits. </p> <p>Just like the doc, I created my pagination using below codes.</p> <p>Template file</p> <pre><code>{% if is_paginated %} &lt;div id="pagination"&gt; &lt;ul&gt; {% if page_obj.has_previous %} &lt;li&gt; &lt;a href="?page={{page_obj.previous_page_number}}"&gt;Previous&lt;/a&gt; &lt;/li&gt; {% else %} &lt;li&gt; Previous&lt;/li&gt; {% endif %} {% for page_number in paginator.num_pages|template_range %} {% ifequal page_number page_obj.number %} &lt;li class="currentpage"&gt;{{page_number}}&lt;/li&gt; {% else %} &lt;li&gt; &lt;a href="?page={{page_number}}"&gt;{{page_number}}&lt;/a&gt; &lt;/li&gt; {% endifequal %} {% endfor %} {% if page_obj.has_next %} &lt;li&gt; &lt;a href="?page={{page_obj.next_page_number}}"&gt;Next&lt;/a&gt;&lt;/li&gt; {% else %} &lt;li&gt; Next &lt;/li&gt; {% endif %} &lt;/ul&gt; &lt;/div&gt; {% endif %} </code></pre> <p>Views.py</p> <pre><code>news = News.active.all().order_by("-created_at") paginator = Paginator(news, 15) is_paged = False page = None try: paginator.validate_number(currpage) except (EmptyPage, InvalidPage): #return bad_or_missing(request, ("Invalid page number")) currpage = paginator.num_pages is_paged = paginator.num_pages &gt; 1 page = paginator.page(currpage) ctx = RequestContext(request, { 'all_news_list' : page.object_list, 'is_paginated' : is_paged, 'page_obj' : page, 'paginator' : paginator, 'featured_categories' : featured_categories, }) response = render_to_response(template_name, context_instance=ctx) return response </code></pre> <p>Thank you.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload