2012-02-21 15 views
8

का उपयोग कर रहा Django-पृष्ठांकन उपयोग कर रहा हूँ मेरी वस्तु सूची पृष्ठ पर अंक लगाना करने के लिए सही वस्तु संख्या दिखाने के लिए। यह बेकार ढंग से काम कर रहा है। मैं पृष्ठ पर प्रत्येक वस्तु के लिए एक नंबर देना चाहता हूँ और मुझे लगता है कि के लिए {{forloop.counter}} उपयोग कर रहा हूँ, लेकिन समस्या यह प्रत्येक पृष्ठ पर 1 से ऑब्जेक्ट गणना शुरू होता है। मैं वास्तविक वस्तु गणना प्रदर्शित करना चाहता था।कैसे जब Django-पृष्ठांकन

कहें कि क्या मैं प्रति पृष्ठ 10 ऑब्जेक्ट्स को पेजिंग कर रहा हूं, तो मैं पेज 2 पर पहली ऑब्जेक्ट के लिए नंबर 11 के रूप में ऑब्जेक्ट करना चाहता हूं। मैंने इसके लिए टेम्पलेट फ़िल्टर लिखने का प्रयास किया, लेकिन किसी भी तरह से मैं request.get.page दोनों को भेजने में सक्षम नहीं हूं और {{forloop.counter}} मेरे फ़िल्टर फ़ंक्शन पर। मैं इसे इस तरह से करने में असमर्थ हूं।

दिशा के लिए कोई मदद की सराहना की जाएगी।

उत्तर

14

आप वर्तमान गिनती में paginator से forloop को

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

मैं जबकि प्रतिपादन निम्न त्रुटि 'पकड़ा VariableDoesNotExist हो रही है: के लिए देखना विफल कुंजी [START_INDEX] u''' – Sachin

+0

में paginator कैसे है दृश्य से टेम्पलेट में पारित किया? –

+0

मुझे लगता है कि टेम्पलेट अपने आप में पृष्ठांकन करता Django-पृष्ठांकन एप्लिकेशन का उपयोग कर रहा है, मैं paginator उपयोग नहीं कर रहा – Sachin

1

ऐड में paginator शुरू सूचकांक के साथ पाश काउंटर के लिए शुरू कर शून्य

से टेम्पलेट में जोड़ने के लिए add टेम्पलेट टैग का उपयोग कर सकते हैं

{% 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 }}