Django ट्यूटोरियल: विशेषताएं, Archiटेकचर और इतिहास

⚡ स्मार्ट सारांश

Django एक निःशुल्क, ओपन-सोर्स सॉफ्टवेयर है। Python मॉडल-व्यू-टेम्प्लेट पैटर्न पर निर्मित वेब फ्रेमवर्क, पुन: प्रयोज्य घटकों, एक स्वचालित एडमिन इंटरफेस और मूलभूत सुविधाओं से युक्त डिजाइन के माध्यम से सुरक्षित, स्केलेबल, डेटाबेस-संचालित वेबसाइटों के तीव्र विकास को सक्षम बनाता है।

  • 🔘 फ्रेमवर्क: Django एक उच्च-स्तरीय भाषा है। Python जटिल, डेटाबेस-आधारित वेब अनुप्रयोगों को तेजी से बनाने के लिए एक ढांचा।
  • Archiटेक्चर: मॉडल-व्यू-टेम्प्लेट (एमवीटी) पैटर्न Django को कंट्रोलर को प्रबंधित करने और डेटा, लॉजिक और प्रेजेंटेशन को अलग करने की सुविधा देता है।
  • बैटरियों में शामिल हैं: इसमें अंतर्निहित एडमिन, प्रमाणीकरण, फॉर्म और अंतर्राष्ट्रीयकरण की सुविधाएँ अधिकांश दोहराव वाले सेटअप कार्यों को समाप्त कर देती हैं।
  • सुरक्षा: डिफ़ॉल्ट सुरक्षा उपाय सीएसआरएफ, क्रॉस-साइट स्क्रिप्टिंग, एसक्यूएल इंजेक्शन और क्लिकजैकिंग हमलों को रोकते हैं।
  • 🧪 स्केल: InstagramPinterest, Mozilla और Disqus जैसी कंपनियां बहुत अधिक ट्रैफिक को संभालने के लिए Django पर निर्भर करती हैं।
  • 🤖 ऐ: Django मशीन लर्निंग मॉडल को API के रूप में उपलब्ध कराता है, और GitHub Copilot जैसे सहायक टूल बैकएंड कोडिंग की गति को बढ़ाते हैं।

शुरुआती लोगों के लिए Django ट्यूटोरियल

Django वेब की कुछ सबसे बड़ी साइटों को शक्ति प्रदान करता है जबकि साथ ही साथping दैनिक विकास तेज़ और व्यवस्थित है। इसकी विशेषताओं, संरचना और इतिहास का पता लगाने से पहले, नीचे दिए गए अनुभाग वेब फ्रेमवर्क की मूल बातों और Django को विशिष्ट बनाने वाली चीज़ों से शुरू होते हैं।

Django ट्यूटोरियल सारांश

यह Django ट्यूटोरियल सभी बुनियादी विषयों को शुरू से कवर करता है। इस ट्यूटोरियल में, आप Django क्या है, इसका इतिहास, इसकी विशेषताएं, Django फ्रेमवर्क की विशेषताएं, Django के घटक, इसके फायदे और नुकसान, और बहुत कुछ सीखेंगे।

Django सीखने से पहले, आइए इसे समझते हैं:

वेब फ्रेमवर्क क्या है?

वेब फ्रेमवर्क एक कोड लाइब्रेरी है जो आपको एक लचीली, स्केलेबल और रखरखाव योग्य डायनामिक वेबसाइट, वेब ऐप या वेब सेवा बनाने में मदद करती है। विभिन्न वेब फ्रेमवर्क में PHP के लिए Zend शामिल है। रूबी ऑन रेल्स रूबी और अन्य के लिए।

Django क्या है?

Django के लिए एक वेब विकास ढांचा है Python यह तेज़ और प्रभावी वेबसाइट विकास के लिए मानक विधियाँ प्रदान करता है। इस उच्च-स्तरीय वेब फ्रेमवर्क का प्राथमिक लक्ष्य जटिल डेटाबेस-आधारित वेबसाइटों का निर्माण करना है। यह आपको गुणवत्तापूर्ण वेब एप्लिकेशन बनाने और बनाए रखने में मदद करता है। यह विकास प्रक्रिया को सुगम और समय बचाने वाला बनाकर तीव्र विकास को संभव बनाता है।

Django क्यों? Django के मुख्य लाभ

Django के मुख्य लाभ इस प्रकार हैं:

  • Django को सेट अप करना और चलाना आसान है। यह शुरुआत करने के लिए कई विकल्प प्रदान करता है।
  • यह प्रशासनिक गतिविधियों के लिए एक तैयार उपयोगकर्ता इंटरफ़ेस प्रदान करता है।
  • यह अपने अंतर्निर्मित अंतर्राष्ट्रीयकरण प्रणाली का उपयोग करके बहुभाषी वेबसाइटों को सक्षम बनाता है।
  • यह आपको भारी ट्रैफिक की मांगों को तेजी से पूरा करने में मदद करता है।
  • Django का उपयोग सभी प्रकार के कंटेंट मैनेजमेंट सिस्टम, सोशल नेटवर्क और साथ ही वैज्ञानिक कंप्यूटिंग प्लेटफॉर्म बनाने के लिए किया जाता है।
  • Django आपको एंड-टू-एंड एप्लिकेशन टेस्टिंग प्रदान करने में मदद करता है।
  • यह आपको एचटीएमएल आउटपुट के साथ अपने एपीआई को डॉक्यूमेंट करने में मदद करता है।
  • REST फ्रेमवर्क कई प्रमाणीकरण प्रोटोकॉल के लिए व्यापक समर्थन प्रदान करता है।
  • यह अनुमतियाँ और थ्रॉटलिंग नीतियाँ प्रदान करता है।
  • इसका उपयोग एकल उपयोगकर्ता से API अनुरोधों की दर को सीमित करने के लिए व्यापक रूप से किया जाता है।

Django का इतिहास

साल मील का पत्थर
2003 इस परियोजना की शुरुआत एड्रियन होलोवाटी और साइमन विलिसन ने लॉरेंस जर्नल-वर्ल्ड अखबार में एक आंतरिक परियोजना के रूप में की थी।
जुलाई 2005 इसे जुलाई 2005 में "जैंगो" के रूप में रिलीज़ किया गया था, जिसका नाम जैज़ गिटारवादक जैंगो रेनहार्ड्ट के नाम पर रखा गया था।
जून 2008 यह घोषणा की गई कि एक Django सॉफ़्टवेयर Foundation (डीएसएफ) डीजेंगो का रखरखाव करेगा।
29 जुलाई 2009 Django 1.1 को एग्रीगेट्स और ट्रांजैक्शन-आधारित परीक्षण जैसी सुविधाओं के साथ जारी किया गया था।
17 मई 2010 Django 1.2 जारी किया गया। इस अपडेट में कई डेटाबेस और ईमेल बैकएंड जैसी सुविधाएं जोड़ी गईं, साथ ही सेशन और कुकीज़ में भी सुधार किए गए।
23 मार्च 2011 संस्करण 1.3 में क्लास-आधारित व्यू और स्टैटिक फाइलों जैसी सुविधाएं पेश की गईं।
23 मार्च 2012 1.4 संस्करण को टाइम ज़ोन और इन-ब्राउज़र टेस्टिंग जैसी नई सुविधाओं के साथ लॉन्च किया गया था।
26 फ़रवरी 2013 1.5 संस्करण के साथ आया था Python 3 सहायक और कॉन्फ़िगर करने योग्य उपयोगकर्ता मॉडल सुविधाएँ।
नवम्बर 6 2013 संस्करण 1.6 में डेटाबेस लेनदेन प्रबंधन और कनेक्शन पूलिंग सुविधाएँ शामिल थीं।
2 सितम्बर 2014 संस्करण 1.7 में एप्लिकेशन लोडिंग, माइग्रेशन और कॉन्फ़िगरेशन जैसी नई सुविधाएँ थीं।
1 अप्रैल 2015 कई टेम्प्लेट इंजनों के लिए नेटिव सपोर्ट प्रदान किया गया था।
1 दिसंबर 2015 संस्करण 1.9 में, स्वचालित पासवर्ड सत्यापन सुविधा शुरू की गई थी।
अगस्त 1 2016 संस्करण 1.10 में, पूर्ण-पाठ खोज के लिए PostgreSQL का शुभारंभ।
4 अप्रैल 2017 1.11 संस्करण समर्थन करने वाला अंतिम संस्करण बन गया। Python 2.7.
2 दिसंबर 2017 संस्करण 2.0 पहला बन गया Python केवल 3-संस्करण ही उपलब्ध है।
अगस्त 1 2018 संस्करण 2.1 में मॉडल "व्यू" अनुमति समर्थन सुविधाएँ शामिल थीं।
2021 Django 3.0 के लिए समर्थन हटा दिया गया है और Django 3.2 के लिए समर्थन जोड़ा गया है।

अब इस Django for beginners ट्यूटोरियल में, आइए Django की विशेषताओं के बारे में जानें।

Django की विशेषताएं

Django की विशेषताएं नीचे दी गई हैं:

  • यह आपको पैटर्न परिभाषित करने में मदद करता है URLअपने आवेदन में इसका उल्लेख करें।
  • सरल लेकिन शक्तिशाली URL प्रणाली।
  • अंतर्निर्मित प्रमाणीकरण प्रणाली।
  • एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा डेटाबेस जो सर्वोत्तम श्रेणी के डेटा संग्रहण और पुनर्प्राप्ति की सुविधा प्रदान करता है।
  • स्वचालित एडमिन इंटरफ़ेस सुविधा आपको आइटम जोड़ने, संपादित करने और हटाने की सुविधा देती है। आप अपनी आवश्यकतानुसार एडमिन पैनल को कस्टमाइज़ कर सकते हैं।
  • कैश फ्रेमवर्क में कई कैश तंत्र मौजूद हैं।

अब इस Django फ्रेमवर्क ट्यूटोरियल में, हम Django की विशेषताओं के बारे में जानेंगे।

Django की विशेषताएँ

Django की मुख्य विशेषताएं इस प्रकार हैं:

  • आजादी से मिलना – Django आपको इसके स्टैक के प्रत्येक तत्व को दूसरों से स्वतंत्र बनाने में मदद करता है।
  • Less कोड – प्रभावी विकास सुनिश्चित करता है।
  • दोहराया नहीं गया हर चीज को दोहराने के बजाय ठीक एक ही स्थान पर विकसित किया जाना चाहिए।
  • तेज़ विकास – Django तेज़ और विश्वसनीय एप्लिकेशन डेवलपमेंट प्रदान करता है।
  • सुसंगत डिजाइन – Django एक साफ-सुथरा डिजाइन बनाए रखता है और वेब विकास की सर्वोत्तम पद्धतियों का पालन करना आसान बनाता है।

इस Django शुरुआती ट्यूटोरियल में आगे, हम Django की वास्तुकला के बारे में जानेंगे।

Django Archiतकनीक: एमवीसी और एमवीटी

नीचे Django की विस्तृत वास्तुकला दी गई है:

Django Archiटेक्चर

Django Archiटेक्चर

एमवीसी पैटर्न

जब हम यूआई (वेब ​​या डेस्कटॉप) प्रदान करने वाले एप्लिकेशन की बात करते हैं, तो हम आमतौर पर एमवीसी आर्किटेक्चर की बात करते हैं। एमवीसी पैटर्न मॉडल, व्यू और कंट्रोलर पर आधारित है।

RSI आदर्श यह डेटा संरचना को परिभाषित करता है और डेटाबेस से क्वेरी करने का काम संभालता है।

RSI देखें परिभाषित करता है कि कौन सा डेटा प्रस्तुत किया जाना चाहिए और एक HTTP प्रतिक्रिया देता है।

RSI नियंत्रक यह एप्लिकेशन का वह हिस्सा है जो उपयोगकर्ता के साथ बातचीत को संभालता है।

Django MVC-MVT पैटर्न

मॉडल-व्यू-टेम्प्लेट (MVT) MVC से एक अलग अवधारणा है। इन दोनों आर्किटेक्चरल पैटर्न के बीच मुख्य अंतर यह है कि Django स्वयं कंट्रोलर भाग (मॉडल और व्यू के बीच इंटरैक्शन को नियंत्रित करने वाला सॉफ़्टवेयर कोड) का प्रबंधन करता है। टेम्प्लेट एक HTML फ़ाइल है जिसे Django टेम्प्लेट लैंग्वेज फ़ाइल (DTL) के साथ मिलाकर बनाया जाता है।

नीचे दिया गया आरेख दर्शाता है कि एमवीटी पैटर्न के सभी घटक एक विशिष्ट उपयोगकर्ता अनुरोध को पूरा करने के लिए एक दूसरे के साथ कैसे परस्पर क्रिया करते हैं।

Django Archiतकनीक: एमवीसी और एमवीटी

MVT Archiटेक्चर

ऊपर दिए गए चित्र में दिखाए अनुसार, एक उपयोगकर्ता Django से एक संसाधन का अनुरोध करता है। Django एक नियंत्रक के रूप में कार्य करता है और उपलब्ध संसाधन की जाँच करता है। URL.

अगर URL मैप्स में, एक व्यू को कॉल किया जाता है जो मॉडल और टेम्प्लेट के साथ इंटरैक्ट करता है। फिर Django उपयोगकर्ता को प्रतिक्रिया देता है और प्रतिक्रिया के रूप में एक टेम्प्लेट भेजता है।

अब इस Django ट्यूटोरियल फॉर बिगिनर्स सीरीज़ में, हम Django के कंपोनेंट्स के बारे में जानेंगे।

Django के घटक

प्रपत्र

Django में एक शक्तिशाली फॉर्म लाइब्रेरी है जो HTML के रूप में रेंडरिंग फॉर्म को संभालती है। लाइब्रेरी सबमिट किए गए डेटा को मान्य करने और उसे HTML में बदलने में मदद करती है। Python प्रकार के।

प्रमाणीकरण

यह उपयोगकर्ता खातों, समूहों, कुकी-आधारित उपयोगकर्ता सत्रों और अन्य चीजों को संभालता है।

व्यवस्थापक

यह आपके मॉडल में मेटाडेटा को पढ़कर एक मजबूत इंटरफ़ेस प्रदान करता है जिसका उपयोग आपकी साइट पर सामग्री को प्रबंधित करने के लिए किया जा सकता है।

अंतर्राष्ट्रीयकरण

Django विभिन्न भाषाओं में पाठ का अनुवाद करने और तिथियों, समय, संख्याओं और समय क्षेत्रों के स्थानीयकरण के लिए विशिष्ट प्रारूपण की सुविधा प्रदान करता है।

सुरक्षा

Django निम्नलिखित हमलों से सुरक्षा प्रदान करता है:

  • क्रॉस-साइट अनुरोध क्षमा (CSRF)
  • क्रॉस साइट स्क्रिप्टिंग
  • एसक्यूएल इंजेक्षन
  • Clickjacking
  • रिमोट कोड निष्पादन

Django का उपयोग करने वाली प्रसिद्ध कंपनियाँ

यहां उन कंपनियों की सूची दी गई है जो Django का उपयोग कर रही हैं:

  • Bitbucket
  • Disqus
  • नासा
  • पीबीएस (सार्वजनिक प्रसारण सेवा)
  • Pinterest
  • Instagram
  • मोज़िला
  • वाशिंगटन पोस्ट
  • न्यूयॉर्क टाइम्स
  • लॉस एंजिल्स टाइम्स
  • गार्जियन
  • नेशनल ज्योग्राफिक
  • डिस्कवरी चैनल

Django का उपयोग करने के नुकसान

Django का उपयोग करने के कुछ नुकसान इस प्रकार हैं:

  • एक ही प्रक्रिया एक साथ कई अनुरोधों को संभाल नहीं सकती।
  • Django एक बहुत ही मोनोलिथिक टूल है।
  • विभिन्न घटक एक साथ तैनात किए जाते हैं, जिससे भ्रम की स्थिति उत्पन्न हो सकती है।
  • Django पर काम करने के लिए संपूर्ण सिस्टम का ज्ञान आवश्यक है।
  • यह वेब एप्लिकेशन घटकों को आपस में कसकर जोड़ता है।
  • आपको छोटे-मोटे कार्यों के लिए लंबी प्रोग्रामिंग करनी पड़ती है।

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

Django मुख्य रूप से एक बैकएंड फ्रेमवर्क है, हालांकि इसे अक्सर फुल-स्टैक फ्रेमवर्क के रूप में वर्णित किया जाता है क्योंकि इसकी टेम्प्लेट लेयर HTML को रेंडर करती है। यह सर्वर-साइड लॉजिक, डेटाबेस, राउटिंग और सुरक्षा का प्रबंधन करता है, जबकि टेम्प्लेट ब्राउज़र के लिए प्रस्तुति को संभालते हैं।

Django एक पूर्ण-स्टैक फ्रेमवर्क है जिसमें अंतर्निहित ORM, एडमिन पैनल और प्रमाणीकरण जैसी सुविधाएं मौजूद हैं। Flask एक हल्का माइक्रोफ्रेमवर्क है जो न्यूनतम सुविधाओं के साथ आता है और इन्हीं सुविधाओं के लिए एक्सटेंशन पर निर्भर करता है, जिससे डेवलपर्स को अधिक मैन्युअल नियंत्रण मिलता है।

Django ORM, या ऑब्जेक्ट-रिलेशनल मैपर, आपको डेटाबेस टेबल को परिभाषित करने की अनुमति देता है। Python क्लास और उनसे क्वेरी करें Python यह रॉ SQL के बजाय कोड का उपयोग करता है। यह डेटाबेस को सपोर्ट करता है जैसे कि PostgreSQL, MySQL, SQLite, तथा Oracle.

कमांड लाइन पर python -m django –version चलाएँ, या एक फ़ाइल खोलें Python shell कमांड चलाएं और import django कमांड के बाद print(django.get_version()) कमांड चलाएं। दोनों कमांड इंस्टॉल किए गए Django का रिलीज़ नंबर प्रदर्शित करते हैं।

मिडिलवेयर हुक्स की एक श्रृंखला है जो वैश्विक स्तर पर प्रत्येक अनुरोध और प्रतिक्रिया को संसाधित करती है। Django सत्रों, प्रमाणीकरण, CSRF सुरक्षा और सुरक्षा हेडर के लिए मिडिलवेयर का उपयोग करता है, जो आपके व्यू के निष्पादन से पहले और बाद में क्रमानुसार चलते हैं।

का कार्यसाधक ज्ञान Python HTTP, HTML और डेटाबेस जैसी बुनियादी वेब अवधारणाओं का ज्ञान आवश्यक है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग को समझने से Django मॉडल और क्लास-आधारित व्यू को सीखना बहुत आसान हो जाता है।

जी हां। Django अक्सर व्यू या Django REST फ्रेमवर्क के माध्यम से मशीन लर्निंग मॉडल को सर्व करता है, और API एंडपॉइंट के रूप में भविष्यवाणियों को प्रदर्शित करता है। एक प्रशिक्षित मॉडल स्टार्टअप पर एक बार लोड होता है और वेब या मोबाइल क्लाइंट को अनुमान परिणाम लौटाता है।

GitHub Copilot और इसी तरह के AI सहायक Django मॉडल, व्यू आदि को स्वतः पूर्ण करते हैं। URL पैटर्न, परीक्षण और दोहराव वाले कोड के लिए ढांचा तैयार करने में मदद कर सकते हैं। ये विकास को गति देते हैं, हालांकि उत्पन्न कोड की सुरक्षा और शुद्धता की हमेशा समीक्षा की जानी चाहिए।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: