Django Academy · पाठ

Function Views से View Classes तक

समझें कि CBVs क्यों मौजूद हैं और उनका उपयोग कब करना चाहिए

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

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

व्यू बनाने के दो तरीके

अब तक आपके views साधारण functions थे। Django आपको views को classes के रूप में लिखने की सुविधा भी देता है, जो संबंधित तर्क को एक साथ व्यवस्थित रूप से रखती हैं।

क्लास-आधारित व्यू क्या होता है

क्लास-आधारित व्यू (CBV) केवल एक Python class है जो किसी request को संभालती है। Django पर्दे के पीछे इसे आपके लिए callable में बदल देता है।

दोहराव की समस्या

Function views में अक्सर एक ही ढाँचा दोहराया जाता है: data प्राप्त करना, context बनाना और template को render करना। CBVs इस ढाँचे को कॉपी करने के बजाय दोबारा इस्तेमाल करने देती हैं।

तुलना के लिए एक function view

यहाँ एक परिचित function view दिया गया है। यह एक ही block में request लेता है और response लौटाता है।

def home(request):
    return render(request, "home.html")

वही व्यू, अब class के रूप में

Class के रूप में आप View की subclass बनाते हैं और हर HTTP verb के लिए एक method परिभाषित करते हैं। तर्क वही रहता है, केवल उसका संगठन अलग होता है।

class HomeView(View):
    def get(self, request):
        return render(request, "home.html")

Methods का HTTP verbs से संबंध

CBV में get method GET requests संभालता है और post method POST संभालता है। अब request.method पर बड़े-बड़े if-checks लिखने की ज़रूरत नहीं रहती।

Inheritance का अर्थ है पुनः उपयोग

CBVs classes होती हैं, इसलिए आप subclass बनाकर केवल बदलने वाले हिस्से को override कर सकते हैं। साझा व्यवहार parent class में एक ही बार रहता है।

Django में generic views पहले से मिलते हैं

Django में ListView और DetailView जैसे तैयार generic views शामिल हैं। वे सामान्य पैटर्न संभाल लेते हैं, इसलिए आपको लगभग कोई code नहीं लिखना पड़ता।

Functions अब भी कब बेहतर होते हैं

किसी छोटे, एक बार इस्तेमाल होने वाले view के लिए function अक्सर अधिक स्पष्ट होता है। जब logic दोहराया जाए या जटिल हो जाए, तब CBVs अपनाएँ।

दोनों urls.py में जुड़ते हैं

दोनों styles को urls में एक ही तरह जोड़ा जाता है। CBV को ऐसा callable बनाने के लिए केवल as_view() चाहिए, जिसे Django route कर सके।

path("", HomeView.as_view())

सही tool चुनें

CBVs न बेहतर हैं, न बदतर—वे बस अलग हैं। चुनाव reuse के आधार पर करें: दोहराए जाने वाले patterns के लिए classes और सरल pages के लिए functions बेहतर हैं।

त्वरित जाँच

क्लास-आधारित views मौजूद होने का मुख्य कारण क्या है?

पुनरावृत्ति: Functions बनाम Classes

आपने class-based views के बारे में सीखा: ऐसी classes जो requests संभालती हैं, methods को HTTP verbs से जोड़ती हैं और inheritance के ज़रिए logic का पुनः उपयोग करती हैं। Patterns दोहराए जाने पर ये बहुत उपयोगी होती हैं। 🎯

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

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

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

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

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

क्या “Function Views से View Classes तक” पाठ निःशुल्क है?

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

“Function Views से View Classes तक” में मैं क्या सीखूँगा?

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

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

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

“Function Views से View Classes तक” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. Function Views से View Classes तक
  2. TemplateView और get_context_data
  3. get और post Methods को सँभालना
  4. मिक्सिन और as_view()
← Django Academy पर वापस जाएँ