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

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टेक्चर
एमवीसी पैटर्न
जब हम यूआई (वेब या डेस्कटॉप) प्रदान करने वाले एप्लिकेशन की बात करते हैं, तो हम आमतौर पर एमवीसी आर्किटेक्चर की बात करते हैं। एमवीसी पैटर्न मॉडल, व्यू और कंट्रोलर पर आधारित है।
RSI आदर्श यह डेटा संरचना को परिभाषित करता है और डेटाबेस से क्वेरी करने का काम संभालता है।
RSI देखें परिभाषित करता है कि कौन सा डेटा प्रस्तुत किया जाना चाहिए और एक HTTP प्रतिक्रिया देता है।
RSI नियंत्रक यह एप्लिकेशन का वह हिस्सा है जो उपयोगकर्ता के साथ बातचीत को संभालता है।
Django MVC-MVT पैटर्न
मॉडल-व्यू-टेम्प्लेट (MVT) MVC से एक अलग अवधारणा है। इन दोनों आर्किटेक्चरल पैटर्न के बीच मुख्य अंतर यह है कि Django स्वयं कंट्रोलर भाग (मॉडल और व्यू के बीच इंटरैक्शन को नियंत्रित करने वाला सॉफ़्टवेयर कोड) का प्रबंधन करता है। टेम्प्लेट एक HTML फ़ाइल है जिसे Django टेम्प्लेट लैंग्वेज फ़ाइल (DTL) के साथ मिलाकर बनाया जाता है।
नीचे दिया गया आरेख दर्शाता है कि एमवीटी पैटर्न के सभी घटक एक विशिष्ट उपयोगकर्ता अनुरोध को पूरा करने के लिए एक दूसरे के साथ कैसे परस्पर क्रिया करते हैं।
MVT Archiटेक्चर
ऊपर दिए गए चित्र में दिखाए अनुसार, एक उपयोगकर्ता Django से एक संसाधन का अनुरोध करता है। Django एक नियंत्रक के रूप में कार्य करता है और उपलब्ध संसाधन की जाँच करता है। URL.
अगर URL मैप्स में, एक व्यू को कॉल किया जाता है जो मॉडल और टेम्प्लेट के साथ इंटरैक्ट करता है। फिर Django उपयोगकर्ता को प्रतिक्रिया देता है और प्रतिक्रिया के रूप में एक टेम्प्लेट भेजता है।
अब इस Django ट्यूटोरियल फॉर बिगिनर्स सीरीज़ में, हम Django के कंपोनेंट्स के बारे में जानेंगे।
Django के घटक
प्रपत्र
Django में एक शक्तिशाली फॉर्म लाइब्रेरी है जो HTML के रूप में रेंडरिंग फॉर्म को संभालती है। लाइब्रेरी सबमिट किए गए डेटा को मान्य करने और उसे HTML में बदलने में मदद करती है। Python प्रकार के।
प्रमाणीकरण
यह उपयोगकर्ता खातों, समूहों, कुकी-आधारित उपयोगकर्ता सत्रों और अन्य चीजों को संभालता है।
व्यवस्थापक
यह आपके मॉडल में मेटाडेटा को पढ़कर एक मजबूत इंटरफ़ेस प्रदान करता है जिसका उपयोग आपकी साइट पर सामग्री को प्रबंधित करने के लिए किया जा सकता है।
अंतर्राष्ट्रीयकरण
Django विभिन्न भाषाओं में पाठ का अनुवाद करने और तिथियों, समय, संख्याओं और समय क्षेत्रों के स्थानीयकरण के लिए विशिष्ट प्रारूपण की सुविधा प्रदान करता है।
सुरक्षा
Django निम्नलिखित हमलों से सुरक्षा प्रदान करता है:
- क्रॉस-साइट अनुरोध क्षमा (CSRF)
- क्रॉस साइट स्क्रिप्टिंग
- एसक्यूएल इंजेक्षन
- Clickjacking
- रिमोट कोड निष्पादन
Django का उपयोग करने वाली प्रसिद्ध कंपनियाँ
यहां उन कंपनियों की सूची दी गई है जो Django का उपयोग कर रही हैं:
- Bitbucket
- Disqus
- नासा
- पीबीएस (सार्वजनिक प्रसारण सेवा)
- मोज़िला
- वाशिंगटन पोस्ट
- न्यूयॉर्क टाइम्स
- लॉस एंजिल्स टाइम्स
- गार्जियन
- नेशनल ज्योग्राफिक
- डिस्कवरी चैनल
Django का उपयोग करने के नुकसान
Django का उपयोग करने के कुछ नुकसान इस प्रकार हैं:
- एक ही प्रक्रिया एक साथ कई अनुरोधों को संभाल नहीं सकती।
- Django एक बहुत ही मोनोलिथिक टूल है।
- विभिन्न घटक एक साथ तैनात किए जाते हैं, जिससे भ्रम की स्थिति उत्पन्न हो सकती है।
- Django पर काम करने के लिए संपूर्ण सिस्टम का ज्ञान आवश्यक है।
- यह वेब एप्लिकेशन घटकों को आपस में कसकर जोड़ता है।
- आपको छोटे-मोटे कार्यों के लिए लंबी प्रोग्रामिंग करनी पड़ती है।


