2012-05-09 12 views
5

यदि यह तब कोई अन्य विकल्प नहीं है (या तो Django के मूल अंकन या वैकल्पिक पैकेज) जो प्रति पृष्ठ एकाधिक पेजिनेशन की अनुमति देता है?क्या डीजेंगो-पेजिनेशन प्रति पेज एकाधिक पेजिनेशन कर सकता है?

मैं प्रत्येक ऑब्जेक्ट के साथ अपने स्वयं के पेजिनेशन संदर्भ वाले 5 ऑब्जेक्ट्स की एक सूची प्रदर्शित करना चाहता हूं।

सुविधा के लिए, यहां documentation for django-pagination है।

+0

मैं वही चीज़ ढूंढ रहा हूं। क्या तुम्हें कुछ मिला? – andyzinsser

उत्तर

5

निश्चित रूप से, यह संभव है। मैं django-पेजिनेशन पैकेज के लिए बात नहीं कर सकता, लेकिन डिफ़ॉल्ट Django के Paginator कक्षा का उपयोग करके यह निश्चित रूप से संभव है। आप अपने दृश्य के अंदर जितना चाहें उतना बना सकते हैं। उनमें से प्रत्येक के लिए पृष्ठ निर्दिष्ट करने के लिए बस अलग-अलग जीईटी पैरामीटर चुनें और आप जाने के लिए अच्छे हैं।

4

मुझे पता है कि यह पोस्ट पुराना है, लेकिन यह अभी भी प्रासंगिक है। निम्नलिखित Django 1.9 के लिए काम करेगा।

यह है कि यह कैसे करना है,

views.py

def myview(): 
    Model_one = Model.objects.all() 
    paginator = Paginator(Model_one, 6) 
    page = request.GET.get('page1') 
    try: 
     Model_one = paginator.page(page) 
    except PageNotAnInteger: 
     Model_one = paginator.page(1) 
    except EmptyPage: 
     Model_one = paginator.page(paginator.num_pages) 

    Model_two = Model_other.objects.all() 
    paginator = Paginator(Model_two, 6) 
    page = request.GET.get('page2') 
    try: 
     Model_two = paginator.page(page) 
    except PageNotAnInteger: 
     Model_two = paginator.page(1) 
    except EmptyPage: 
     Model_two = paginator.page(paginator.num_pages) 

    context = {'Model_one': Model_one, 'Model_two': Model_two} 
    return render(request, 'template.html', context) 

महत्वपूर्ण बात यह ऊपर 'पृष्ठ 1' और 'पृष्ठ 2' है।

टेम्पलेट में,

{% if model_one %} 
     <div class="col-md-12 well"> 
     {% for item in model_one %} 
     ..... iterates through model_one..... 
     {% endfor %} 
     <span class="step-links pagination"> 
      {% if model_one.has_previous %} 
       <a href="?page1={{ model_one.previous_page_number }}"> previous </a> 
      {% endif %} 
      <span class="current"> 
       Page {{ model_one.number }} of {{ model_one.paginator.num_pages }} 
      </span> 
      {% if model_one.has_next %} 
       <a href="?page1={{ model_one.next_page_number }}"> next </a> 
      {% endif %} 
     </span> 
     </div> 
     {% endif %} 
     {% if model_two %} 
     <div class="col-md-12 well"> 
     {% for item in model_two %} 
     ..... iterates through model_two..... 
     {% endfor %} 
     <span class="step-links pagination"> 
      {% if model_two.has_previous %} 
       <a href="?page2={{ model_two.previous_page_number }}"> previous </a> 
      {% endif %} 
      <span class="current"> 
       Page {{ model_two.number }} of {{ model_two.paginator.num_pages }} 
      </span> 
      {% if model_two.has_next %} 
       <a href="?page2={{ model_two.next_page_number }}"> next </a> 
      {% endif %} 
     </span> 
     </div> 
     {% endif %} 

फिर 'पृष्ठ 1' और 'पृष्ठ 2' का उपयोग कर एक मॉडल के लिए पृष्ठांकन भेद करने के लिए।

+1

अच्छा, धन्यवाद – Sakeer

+1

यह 1.4 में भी काम करता है – af3ld

संबंधित मुद्दे