framework bootstrap django pagination django-pagination

bootstrap - pagination offset django



Problema de visualización de la paginación de Django: aparecen todos los números de página (1)

¿Hay alguna forma de mejorar la visualización de la página de la paginación django? Seguí el [documento] [1] para crearlo, pero espero que haya una manera simple de organizar la visualización del número de página.

Actualmente, muestra todas las páginas, digamos que tengo 10 páginas, luego
prev 1 2 3 4 5 6 7 8 9 10 siguiente

Si hay 100, entonces mostrará 100, lo cual es bastante loco.

¿Hay alguna manera simple de mostrarlo más corto?

ejemplo:

prev 1 2 3 ... 67 ... 98, 99, 100 siguiente (67 es la página actual)

prev 1 2 3 ... 65 66 67 68 69 ... 100 siguiente

No tiene que parecerse a los ejemplos anteriores, pero simplemente no desea que muestre todos los números de página sin límites.

Al igual que el documento, creé mi paginación usando los códigos a continuación.

Archivo de plantilla

{% if is_paginated %} <div id="pagination"> <ul> {% if page_obj.has_previous %} <li> <a href="?page={{page_obj.previous_page_number}}">Previous</a> </li> {% else %} <li> Previous</li> {% endif %} {% for page_number in paginator.num_pages|template_range %} {% ifequal page_number page_obj.number %} <li class="currentpage">{{page_number}}</li> {% else %} <li> <a href="?page={{page_number}}">{{page_number}}</a> </li> {% endifequal %} {% endfor %} {% if page_obj.has_next %} <li> <a href="?page={{page_obj.next_page_number}}">Next</a></li> {% else %} <li> Next </li> {% endif %} </ul> </div> {% endif %}

Views.py

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 > 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

Gracias.