Django ढांचे के भीतर परियोजनाओं और ऐप्स की भूमिकाओं और कार्यों की एक मजबूत समझ विकसित करें।

Django में, आप वेब एप्लिकेशन बनाने के लिए दो प्राथमिक घटकों का उपयोग कर सकते हैं; ऐप्स और प्रोजेक्ट। डेवलपर्स कभी-कभी इन शब्दों का परस्पर उपयोग करते हैं, हालांकि Django वेब ढांचे में उनके अलग-अलग अर्थ और कार्य हैं।

Django परियोजनाओं को समझना

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

एक Django परियोजना के घटक

एक Django प्रोजेक्ट में आमतौर पर अलग-अलग ऐप और आपके वेब एप्लिकेशन के कॉन्फ़िगरेशन होते हैं। जब भी आप एक नया प्रोजेक्ट बनाते हैं, Django स्वचालित रूप से इन कॉन्फ़िगरेशन वाली फ़ाइलें उत्पन्न करता है। Django परियोजना में शामिल घटक हैं:

  1. समायोजन: सेटिंग्स मॉड्यूल में आपके प्रोजेक्ट के लिए आवश्यक कॉन्फ़िगरेशन और आपके प्रोजेक्ट में अलग-अलग ऐप शामिल हैं। इस मॉड्यूल में मुख्य रूप से कॉन्फ़िगरेशन विकल्प जैसे डेटाबेस कनेक्शन, मिडलवेयर, इंस्टॉल किए गए ऐप, अनुमत होस्ट और आपके वेब ऐप के काम करने के लिए आवश्यक अन्य कॉन्फ़िगरेशन शामिल हैं।
  2. यूआरएल: URL मॉड्यूल आपके एप्लिकेशन के लिए एक URL पैटर्न परिभाषित करता है। आपके प्रोजेक्ट में प्रत्येक यूआरएल पैटर्न या तो आपके ऐप में किसी अन्य यूआरएल पैटर्न पर मैप कर सकता है या सीधे एक व्यू फ़ंक्शन पर मैप कर सकता है जो विशिष्ट यूआरएल के अनुरोध को संभालता है। चाहे यूआरएल पैटर्न आपके ऐप में व्यू फ़ंक्शन या किसी अन्य यूआरएल पैटर्न पर मैप हो, अंतिम लक्ष्य इसे ऐसे दृश्य में मैप करना है जो अनुरोध को प्रभावी ढंग से संभालता है।
  3. डब्ल्यूएसजीआई: WSGI (वेब ​​सर्वर गेटवे इंटरफ़ेस) मॉड्यूल वेब सर्वर और एप्लिकेशन के लिए Python मानक है। WSGI मॉड्यूल Django के लिए विभिन्न सर्वरों पर चलना संभव बनाता है।
  4. एएसजीआई: ASGI (एसिंक्रोनस सर्वर गेटवे इंटरफ़ेस) मॉड्यूल एसिंक्रोनस अनुरोधों को संभालता है जैसे वेबसॉकेट कनेक्शन. एएसजीआई अतुल्यकालिक वेब सर्वरों के लिए पायथन वेब अनुप्रयोगों के साथ संवाद करने के लिए एक मानक है।
  5. अन्य घटक: कभी-कभी, आपको अपने एप्लिकेशन की आवश्यकताओं के आधार पर, अपने Django प्रोजेक्ट में अपने स्वयं के घटकों को जोड़ने की आवश्यकता होगी। इन घटकों में स्थिर फ़ाइलें, टेम्प्लेट, मीडिया फ़ाइलें और कस्टम प्रबंधन आदेश शामिल हैं।

कैसे एक Django परियोजना बनाने के लिए

Django प्रोजेक्ट बनाने के लिए, आपको इसका उपयोग करना चाहिए django-admin कमांड-लाइन उपयोगिता। आप इन चरणों का पालन करके अपना Django प्रोजेक्ट बना सकते हैं:

  1. अपने कमांड-लाइन इंटरफ़ेस में, उस निर्देशिका पर जाएँ जहाँ आप अपना Django प्रोजेक्ट बनाना चाहते हैं।
  2. पाइप पैकेज मैनेजर के साथ Django स्थापित करें।
    पाइप django स्थापित करें
  3. निम्न आदेश टाइप करें और इसे चलाएं:
    django-admin startproject 

उपरोक्त आदेश इस तरह एक निर्देशिका बनाएगा:

आपको अपनी प्रोजेक्ट निर्देशिका के नाम में अतिरेक दिखाई देगा, अर्थात, आपके प्रोजेक्ट का नाम दो बार दिखाई देगा। यदि आप इससे छुटकारा पाना चाहते हैं, तो आप एक अवधि जोड़ सकते हैं जब आप अपना startproject आदेश इस प्रकार है:

django-admin startproject  .

अब, आपकी परियोजना संरचना इस तरह दिखेगी:

उपरोक्त चरणों के साथ, आपने सफलतापूर्वक एक Django प्रोजेक्ट बनाया होगा। प्रबंधन.py आपके प्रोजेक्ट में बनाई गई फ़ाइल आपके Django प्रोजेक्ट के साथ इंटरैक्ट करने के लिए महत्वपूर्ण है।

एक Django ऐप को समझना

ऐप का उद्देश्य आपके Django प्रोजेक्ट को विशिष्ट कार्यक्षमता प्रदान करना है। एक ऐप आपके प्रोजेक्ट की कार्यात्मकताओं को छोटे घटकों में विभाजित करके आपके कोडबेस को व्यवस्थित करने में आपकी सहायता करता है।

उदाहरण के लिए, एक ब्लॉग प्रोजेक्ट में, आपके पास प्रमाणीकरण और प्राधिकरण के लिए समर्पित एक ऐप होगा और दूसरा ब्लॉग पोस्ट के लिए समर्पित होगा। आप अपने प्रोजेक्ट की विशिष्ट आवश्यकताओं के आधार पर एक से अधिक ऐप बना सकते हैं।

एक Django ऐप के घटक

एक Django ऐप में प्रोजेक्ट से संबंधित मॉड्यूल होते हैं, यानी आपकी वेबसाइट की एक विशिष्ट विशेषता के लिए। किसी प्रोजेक्ट की तरह, जब आप कोई ऐप बनाते हैं तो Django स्वचालित रूप से सहायक फ़ाइलें उत्पन्न करता है। Django द्वारा उत्पन्न फ़ाइलों में निम्न शामिल हैं:

  1. view.py: इस फ़ाइल में अनुरोध प्राप्त करने और प्रतिक्रिया भेजने के लिए आवश्यक सभी तर्क होंगे। यह यह भी निर्धारित करता है कि आपकी वेबसाइट पर उपयोगकर्ता के कार्यों के आधार पर कौन सा HTML टेम्पलेट प्रस्तुत करना है।
  2. model.py: यह मॉड्यूल आपके ऐप की डेटा संरचना स्थापित करता है और यह निर्धारित करता है कि डेटाबेस इसे कैसे संग्रहीत करेगा। यह डेटा को परिभाषित करने के लिए Django के ORM (ऑब्जेक्ट-रिलेशनल मैपिंग) का उपयोग करता है। मॉडल घटक अलग परिभाषित करता है Django में डेटाबेस संबंध.
  3. admin.py: व्यवस्थापक मॉड्यूल आपके Django ऐप के प्रशासन इंटरफ़ेस को परिभाषित करता है। आपको अपने मॉडल को व्यवस्थापक फ़ाइल के अंदर पंजीकृत करना चाहिए। यदि आपको Django द्वारा प्रदान की गई अतिरिक्त व्यवस्थापक कार्यात्मकताओं की आवश्यकता है, तो आप इस मॉड्यूल में अपने व्यवस्थापक इंटरफ़ेस के लिए कस्टम दृश्य परिभाषित कर सकते हैं।
  4. urls.py: यह फ़ाइल विशिष्ट Django ऐप के लिए अद्वितीय URL पैटर्न या मार्गों को परिभाषित करती है। कभी-कभी, Django स्वचालित रूप से इस फ़ाइल को उत्पन्न नहीं करता है। यदि ऐसा होता है, तो आप इसे मैन्युअल रूप से अपनी ऐप निर्देशिका में बना सकते हैं।

Django कुछ अन्य घटक उत्पन्न करता है, जैसे apps.py और test.py। ये फ़ाइलें आपके ऐप कॉन्फ़िगरेशन को परिभाषित करती हैं और आपको क्रमशः यूनिट परीक्षण लिखने देती हैं।

कैसे एक Django ऐप बनाने के लिए

ऐप बनाने से पहले, आपने एक प्रोजेक्ट बनाया होगा। अपना प्रोजेक्ट बनाने के बाद, निर्देशिका वाली निर्देशिका पर नेविगेट करें प्रबंधन.py फ़ाइल करें और अपने टर्मिनल में निम्न कमांड चलाएँ:

अजगर प्रबंधन.py startProject 

उपरोक्त आदेश आपकी परियोजना के समान निर्देशिका स्तर में इस तरह एक फ़ोल्डर संरचना बनाएगा:

Django में एक ऐप और एक परियोजना के बीच अंतर

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

कोड पुन: प्रयोज्यता

Django में, ऐप आपके वेब एप्लिकेशन का पुन: प्रयोज्य घटक है। इसका मतलब यह है कि यदि आपके पास एक ऐप है जो एक प्रोजेक्ट के लिए उपयोगकर्ता प्रमाणीकरण को संभालता है, तो आप उसी ऐप को दूसरे प्रोजेक्ट में बहुत कम या बिना किसी बदलाव के पुन: उपयोग कर सकते हैं। दूसरी ओर, एक परियोजना पुन: प्रयोज्य नहीं है। एक बार जब आप किसी विशेष वेब एप्लिकेशन के लिए एक प्रोजेक्ट बना लेते हैं, तो आप इसे किसी अन्य एप्लिकेशन के लिए उपयोग नहीं कर सकते।

संचालन का दायरा

एक प्रोजेक्ट एक ऐप की तुलना में उच्च स्तर पर संचालित होता है क्योंकि यह आपकी वेबसाइट के समग्र कॉन्फ़िगरेशन और प्रबंधन के लिए ज़िम्मेदार है। दूसरी ओर, कोई ऐप केवल आपकी वेबसाइट की किसी विशिष्ट सुविधा या कार्यक्षमता के लिए ज़िम्मेदार होता है।

फ़ोल्डर संरचना

ऐप और प्रोजेक्ट के बीच सबसे स्पष्ट अंतर उनकी फ़ोल्डर संरचना है। एक प्रोजेक्ट में आमतौर पर आपकी वेबसाइट की भलाई के लिए जिम्मेदार सेटिंग्स और अन्य कॉन्फ़िगरेशन फ़ाइलें शामिल होती हैं।

एक ऐप अनुसरण करता है Django का MVT आर्किटेक्चर. इसमें केवल आपकी वेबसाइट की किसी विशिष्ट सुविधा की भलाई के लिए जिम्मेदार फ़ाइलें और कॉन्फ़िगरेशन शामिल हैं।

एक अच्छा वेब एप्लिकेशन बनाने के लिए आपका प्रोजेक्ट और ऐप एक साथ काम करते हैं

यद्यपि आपके प्रोजेक्ट और ऐप में उनकी विशिष्टता है, लेकिन वे अंततः आपके एप्लिकेशन का निर्माण करते समय आपको एक सहज अनुभव देने के लिए उपयोग किए जाते हैं। आपको अपना वेब एप्लिकेशन बनाने और अनुकूलित करने के लिए प्रोजेक्ट और ऐप दोनों घटकों को संयोजित करने में सक्षम होना चाहिए। अपने ऐप और प्रोजेक्ट के साथ, आप Django के साथ अपनी वेबसाइट बनाना शुरू कर सकते हैं।