शुरुआती लोगों के लिए Django ट्यूटोरियल: विशेषताएं, Archiटेकचर और इतिहास
Django ट्यूटोरियल सारांश
यह Django ट्यूटोरियल सभी बुनियादी विषयों को शुरू से ही कवर करता है। इस ट्यूटोरियल में, आप Django क्या है, Django का इतिहास, Django की विशेषताएँ, Django फ्रेमवर्क की विशेषताएँ, Django के घटक, लाभ और हानियाँ, और बहुत कुछ जैसी अवधारणाएँ सीखेंगे।
Django सीखने से पहले, आइए समझते हैं:
वेब फ्रेमवर्क क्या है?
वेब फ्रेमवर्क एक कोड लाइब्रेरी है जो आपको एक लचीली, स्केलेबल और मेंटेन करने योग्य; गतिशील वेबसाइट, वेब ऐप और वेब सेवाएँ बनाने में मदद करती है। विभिन्न वेब फ्रेमवर्क PHP के लिए Zend हैं, रूबी ऑन रेल्स रूबी आदि के लिए.
Django क्या है?
Django के लिए एक वेब विकास ढांचा है Python जो तेज़ और प्रभावी वेबसाइट विकास के लिए मानक तरीके प्रदान करता है। इस उच्च-स्तरीय वेब फ्रेमवर्क का प्राथमिक लक्ष्य जटिल डेटाबेस-संचालित वेबसाइट बनाना है। यह आपको गुणवत्तापूर्ण वेब एप्लिकेशन बनाने और बनाए रखने में मदद करता है। यह आपको तेजी से विकास के लिए विकास प्रक्रिया को सुचारू और समय बचाने में सक्षम बनाता है।
Django क्यों? Django के मुख्य लाभ
Django के मुख्य लाभ इस प्रकार हैं:
- Django को सेट अप करना और चलाना आसान है। यह आरंभ करने के लिए कई विकल्प प्रदान करता है
- यह प्रशासनिक गतिविधियों के लिए उपयोग हेतु तैयार उपयोगकर्ता इंटरफ़ेस प्रदान करता है
- यह अपनी अंतर्निहित अंतर्राष्ट्रीयकरण प्रणाली का उपयोग करके बहुभाषी वेबसाइटों को सक्षम बनाता है
- आपको भारी ट्रैफ़िक मांगों को शीघ्रता से पूरा करने में मदद करता है
- Django का उपयोग सभी प्रकार की सामग्री प्रबंधन प्रणालियों, सामाजिक नेटवर्क के साथ-साथ वैज्ञानिक कंप्यूटिंग प्लेटफार्मों के निर्माण के लिए किया जाता है।
- Django आपको एंड-टू-एंड एप्लिकेशन परीक्षण प्रदान करने में मदद करता है
- HTML आउटपुट के साथ अपने API को दस्तावेज़ित करने में आपकी सहायता करता है
- REST फ्रेमवर्क में कई प्रमाणीकरण प्रोटोकॉल के लिए समृद्ध समर्थन है
- अनुमतियाँ और थ्रॉटलिंग नीतियाँ
- इसका उपयोग एकल उपयोगकर्ता से API अनुरोधों की दर को सीमित करने के लिए व्यापक रूप से किया जाता है।
Django का इतिहास
| साल | मील का पत्थर |
|---|---|
| 2003 | इस परियोजना की शुरुआत लॉरेंस जर्नल-वर्ल्ड अखबार में एक आंतरिक परियोजना के रूप में एडियन होलोवेटी और साइमन विलिसन द्वारा की गई थी |
| जुलाई 2005 | इसे जुलाई 2005 में "Django" के रूप में रिलीज़ किया गया, जिसका नाम जैज़ गिटारवादक Django Reinhard के नाम पर रखा गया |
| जून 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 पहला पायथन 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 की विस्तृत वास्तुकला दी गई है:

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