2012-02-21 14 views
8

Nesne listemizi sıralamak için django-pagination kullanıyorum. Kusursuz çalışıyor. Sayfadaki her nesneye bir sayı vermek istiyorum ve bunun için {{forloop.counter}} kullanıyorum, ancak sorun her sayfadaki 1'den nesne sayısını başlatmasıdır. Gerçek nesne sayımını görüntülemek istedim.django-pagination kullanırken doğru nesne numaralarını nasıl gösteririm?

Sayfa başına 10 nesneyi sayfalara ayırıyorsam, sonra sayfa 2'deki ilk nesne için 11 nesnesine nesne eklemek istiyorum. Bunun için bir şablon filtresi yazmayı denedim, ancak bir şekilde hem request.get.page hem gönderemiyorum hem de Filtre işlevime {{forloop.counter}}. Bunu böyle yapamam.

Yön için herhangi bir yardım takdir edilecektir.

cevap

14

Sen şablonda sıfır

başlayarak döngü sayacı için birlikte forloop için paginator gelen

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

çalışma: Başarısız arama için anahtar [START_INDEX] u''' – Sachin

+0

nasıl paginator olduğunu görünümden şablona geçti? –

+0

Ben şablonun içinde sayfalandırma yapar django-pagination app kullanıyorum, paginator kullanmıyorum – Sachin

1

eklenti paginator başlangıç ​​endeksi cari sayımı eklemek için add şablon etiketi kullanabilirsiniz

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

view

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

Şablonumdaki bu kullanmış ve onun render ederken VariableDoesNotExist yakalandı aşağıdaki hatayı `alıyorum düzgün

{{ page_obj.start_index|add:forloop.counter0 }} 
İlgili konular