2012-02-21 31 views
8

當我使用Django的分頁進行分頁我的對象列表如何顯示正確的對象數目。它工作完美無瑕。我想爲頁面上的每個對象提供一個數字,並且我正在使用{{forloop.counter}},但問題是它在每個頁面上從1開始對象計數。我想顯示實際的對象數量。使用Django的分頁

說,如果我分頁每頁10個對象,那麼我想的對象號11 2.我試着寫了這樣的模板過濾器頁面上的第一個對象,但不知何故,我不能同時發送request.get.page{{forloop.counter}}我的過濾功能。我無法這樣做。

任何方向的幫助將不勝感激。

回答

14

您可以使用add模板標籤從分頁程序,以從零

在模板添加當前計數的for循環

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

我收到以下錯誤'陷入VariableDoesNotExist同時呈現:失敗的查找鍵[START_INDEX]在u''' – Sachin 2012-02-21 13:06:57

+0

是怎樣的分頁程序從視圖傳遞給模板? – 2012-02-21 13:16:28

+0

我使用Django的分頁應用程序,並在模板本身的分頁,我沒有使用分頁程序 – Sachin 2012-02-21 13:22:54

1

添加分頁程序開始索引循環計數器開始

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

在視圖中

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

我在模板中使用這個和它的正常工作

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