2013-10-13 4 views
23

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

उदाहरण के लिए, मेरी वेबसाइट में एक खेल समाचार वेबसाइट जो लेख की तरह वर्गों, रैंकिंग टेबल और "जुड़नार और परिणाम" में शामिल होंगे है, मेरे सवाल इन वर्गों में से हर एक एक पूरी परियोजना के अंदर या नहीं एक अलग अनुप्रयोग में होना चाहिए ? इस स्थिति में सबसे अच्छा अभ्यास क्या है?

+2

ऐसे कई तरीके हैं जिनमें आप अपनी परियोजना को व्यवस्थित कर सकते हैं। लेकिन एक ऐप आमतौर पर आपके प्रोजेक्ट का अर्ध-निहित अनुभाग होता है। जैसे सामने वाले पृष्ठ पर चुनाव के लिए एक ऐप।हालांकि, आपके मामले में आलेखों में, उदाहरण के लिए, टिप्पणियां, आपकी संरचना के आधार पर ये टिप्पणियां हो सकती हैं, केवल लेख ऐप के भीतर ही हो सकती हैं। कोई सुनहरा बुलेट नहीं है। यदि आप इसका पुन: उपयोग करना चाहते हैं तो एक अलग ऐप के लिए जाएं अन्यथा यह निर्भर करता है। यह भी देखें: http://stackoverflow.com/questions/4879036/django-projects-vs-apps – EWit

+0

http://stackoverflow.com/questions/11216829/django- निर्देशिका- संरचना/11222631#11222631 –

+0

यहां एक लिंक है django दस्तावेज़: https://docs.djangoproject.com/en/1.8/ref/applications/#projects-and-applications – guettli

उत्तर

27

एक परियोजना पूरा आवेदन और उसके सभी भागों को दर्शाता है:

भी कई ब्लॉग गूगल पर खोजा पदों इस विषय को संबोधित है कि कर रहे हैं।

एक ऐप एप्लिकेशन के एक सबमिशन को संदर्भित करता है। उम्मीद है कि, परियोजना में अन्य ऐप्स के साथ आत्मनिर्भर और अंतर्निहित नहीं है, इसलिए, सिद्धांत रूप में, आप इसे उठा सकते हैं और बिना किसी, या किसी भी संशोधन के इसे किसी अन्य प्रोजेक्ट में डाल सकते हैं। एक ऐप आमतौर पर इसका अपना models.py (जो वास्तव में खाली हो सकता है) है। आप इसे एक पायथन मॉड्यूल के रूप में देख सकते हैं।

अपने उदाहरण परियोजना के लिए

तो वेबसाइट है, और इतना है कि वहाँ लेख के लिए एक एप्लिकेशन है आप इसे तैयार कर सकते हैं, और रैंकिंग टेबल के लिए एक एप्लिकेशन, और जुड़नार और परिणाम के लिए एक एप्लिकेशन , और एक एप्लिकेशन के लिए ...

मुझे लगता है कि ध्यान में रखने की मुख्य बात क्षुधा के बीच अन्योन्याश्रय के स्तर है। ओवरबोर्ड पर जाने में कोई समझ नहीं है क्योंकि यह सभी प्रोजेक्ट है, लेकिन अधिक इंटरविवाइन किए गए दो ऐप्स हैं - जैसे कि यह ऐप किसी अन्य प्रोजेक्ट में उस ऐप का पुन: उपयोग करने के लिए बहुत अधिक काम करेगा - तो अधिक संभावना है कि ऐप विलय से बेहतर होगा या संलग्न है।

8

आदर्श रूप से, आपकी परियोजना को ऐप्स द्वारा रचित किया जाना चाहिए। यही कारण है कि कमांड लाइन का उपयोग करते समय, आप एक प्रोजेक्ट बनाते हैं, बाद में, उस प्रोजेक्ट में ऐप्स जोड़ें।

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

ऐप्स पुन: उपयोग किए जाने वाले सॉफ़्टवेयर का टुकड़ा हैं। आपकी परियोजना केवल आपकी विशिष्ट आवश्यकताओं के लिए खड़ी है।

Django Project Structure पर एक नज़र डालें। यह आपको अपने Django परियोजना को व्यवस्थित करने के सर्वोत्तम अभ्यास में कुछ अंतर्दृष्टि दे सकता है।

+0

Django परियोजना संरचना लिंक मर चुका है। क्या आपको पता है कि यह कहां गया था? – dsjoerg

+0

@dsjoerg मुझे बताने के लिए धन्यवाद। बस जवाब अपडेट किया गया। –

संबंधित मुद्दे