Django Academy · पाठ

ListView में पृष्ठ नियंत्रण

टेम्पलेट में अगला और पिछला लिंक जोड़ें

पाठ 2, कुल 4 में से13 चरण

ListView में पृष्ठ नियंत्रण, CoddyKit पर Django Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Django Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Django Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

पृष्ठांकन पहले से शामिल है

अच्छी खबर: ListView आपके लिए पृष्ठांकन कर सकता है। आपको बहुत कम कोड लिखना पड़ता है और Django queryset को पृष्ठों में बाँटने का काम अपने-आप संभालता है। 🚀

paginate_by सेट करें

बस एक attribute जोड़िए। paginate_by सेट करने पर ListView को पता चलता है कि हर पेज पर कितने items दिखाने हैं।

class ArticleList(ListView):
    model = Article
    paginate_by = 10

page_obj Variable

Pagination चालू होने पर आपके template को एक page_obj मिलता है। यह वही Page object है जिससे आपका पहले परिचय हुआ था और जिसे आप loop करके देख सकते हैं।

वर्तमान पेज पर Loop करना

Template में page_obj पर iterate करके केवल इस पेज के items दिखाइए। Django ने आपके लिए queryset को पहले ही slice कर दिया है।

{% for article in page_obj %}
  {{ article.title }}
{% endfor %}

पेज नंबर पढ़ना

ListView URL में मौजूद ?page= query string से पेज नंबर लेता है, इसलिए ?page=2 का link दूसरे पेज को दिखाता है।

Previous Link दिखाना

Back link को has_previous से नियंत्रित कीजिए, ताकि वह तभी दिखे जब वास्तव में कोई पिछला पेज उपलब्ध हो।

{% if page_obj.has_previous %}
  Prev
{% endif %}

Previous Page से Link करना

उस block के अंदर previous_page_number का उपयोग करके href बनाइए, ताकि link एक पेज पीछे ले जाए।

<a href="?page={{ page_obj.previous_page_number }}">Prev</a>

Next Link दिखाना

आगे जाने के लिए भी यही तर्क अपनाइए। Next link को has_next check के अंदर रखिए, ताकि अंतिम पेज पर वह छिप जाए।

{% if page_obj.has_next %}
  Next
{% endif %}

Page X of Y दिखाना

Counter दिखाकर users को स्थिति स्पष्ट कीजिए। number और paginator के num_pages को मिलाकर "Page 2 of 5" लिखिए।

Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}

Custom Context Name

क्या आप loop variable के लिए अधिक सुविधाजनक नाम चाहते हैं? context_object_name सेट कीजिए और Django page list का नाम आपकी पसंद के अनुसार रख देगा।

context_object_name = 'articles'

सब कुछ एक साथ रखना

एक attribute और template का छोटा-सा block आपको पूरे page controls देता है: prev, next और position counter—और view logic लिखने की जरूरत नहीं पड़ती।

त्वरित जाँच

आपके ListView template को वर्तमान पेज के items चाहिए।

पुनरावलोकन

आपने paginate_by से pagination चालू की, page_obj पर loop किया और has_previous तथा has_next से नियंत्रित prev/next links बनाए। साफ-सुथरी lists, view code बिल्कुल शून्य। 🎉

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “ListView में पृष्ठ नियंत्रण” पाठ निःशुल्क है?

हाँ — Django Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “ListView में पृष्ठ नियंत्रण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Django Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“ListView में पृष्ठ नियंत्रण” में मैं क्या सीखूँगा?

टेम्पलेट में अगला और पिछला लिंक जोड़ें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Django Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Django Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Django Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“ListView में पृष्ठ नियंत्रण” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Django Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Django Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Paginator क्लास
  2. ListView में पृष्ठ नियंत्रण
  3. TestCase और अभिकथन लिखना
  4. Test Client और Fixtures
← Django Academy पर वापस जाएँ