2012-02-21 15 views
8

Estoy usando django-pagination para paginar mi lista de objetos. Está funcionando sin problemas. Quiero dar un número a cada objeto en la página y estoy usando {{forloop.counter}} para eso, pero el problema es que inicia el recuento de objetos de 1 en cada página. Quería mostrar el recuento real de objetos.Cómo mostrar los números de objeto correctos al usar django-pagination

Digamos que si estoy paginando 10 objetos por página, quiero objetivar el número como 11 para el primer objeto en la página 2. Intenté escribir un filtro de plantilla para esto, pero de alguna manera no puedo enviar request.get.page y {{forloop.counter}} a mi función de filtro. No puedo hacerlo de esa manera.

Cualquier ayuda para la dirección será apreciada.

Respuesta

14

Usted puede utilizar la etiqueta add plantilla para añadir la cuenta corriente del paginador a la forloop

{{ forloop.counter|add:paginator.page.start_index }} 
+0

estoy recibiendo el siguiente error 'Atrapados VariableDoesNotExist mientras que la prestación: Error de búsqueda de la clave [start_index] en u''' – Sachin

+0

cómo es el paginador pasó de la vista a la plantilla? –

+0

Estoy usando la aplicación django-pagination que hace la paginación en la plantilla en sí, no estoy usando el paginador – Sachin

1

complemento índice de inicio paginador por contador de bucle a partir de cero

en la plantilla

{% for object in page_objects %} 
    ... 
    {{ forloop.counter0|add:page_objects.start_index }} 
    ... 
    ... 
{% endfor %} 

en la vista

objects = Abcdef.objects.all() # Abcdef is the modal 
paginator = Paginator(objects, 10) 
page_number = request.GET.get('page') 
try: 
    page_objects = paginator.page(page_number) 
except PageNotAnInteger: 
    page_objects = paginator.page(1) 
except EmptyPage: 
    page_objects = paginator.page(paginator.num_pages)  
data = { 
    "page_objects" : page_objects, 
} 
return render(request, "template/template.html", data) 
2

he utilizado esto en mi plantilla y su trabajo adecuadamente

{{ page_obj.start_index|add:forloop.counter0 }} 
Cuestiones relacionadas