मैं काफी एक-आयामी Django कार्यान्वयन के साथ सहज हूं, लेकिन अब बहु-साइट-साझा-साझा-सामग्री प्रक्रिया को समझने की कोशिश कर रहा हूं।Django साइट्स फ्रेमवर्क प्रारंभिक सेटअप
मैंने Django साइट्स फ्रेमवर्क और विषय पर कई पोस्टों के माध्यम से पढ़ा है, लेकिन मुझे एक ही डेटाबेस का उपयोग करने वाली दूसरी साइट को शुरू करने की मूल बातें नहीं मिल रही हैं, लेकिन खुद को एक अलग डोमेन नाम के रूप में प्रस्तुत करती है ।
मेरे पास एक परियोजना में चल रहे एक ऐप से युक्त एक बहुत ही खुश और द्वि-पुस्तक django साइट है।
ट्यूटोरियल की भाषा का उपयोग करने के लिए मैं
django-admin.py startproject mysite
के साथ एक परियोजना "mysite" शुरू किया और उसके बाद
manage.py startapp polls
Q1 के साथ एप्लिकेशन का "चुनाव" शुरू कर दिया: करता साइटें फ्रेमवर्क मान लें कि प्रत्येक साइट एक अलग परियोजना है या एक अलग ऐप है?
प्रोजेक्ट के भीतर एक दूसरा ऐप 'पोल 2' समझ में आता है, लेकिन सेटिंग.py जहां SITE_ID परिभाषित किया गया है, पूरी परियोजना प्रोजेक्ट है। ऐप-ए-एप सेटिंग्स बनाने का कोई मतलब है?
'mysite' के समीप एक दूसरा proj 'mysite2' मुझे अपनी सेटिंग्स.py और एक अलग SITE_ID के साथ दूसरी संरचना देगा, लेकिन फिर "DRY" सिद्धांत का बड़ा उल्लंघन होता है जैसा कि मैं होगा आसन्न बहन परियोजना के कई तत्वों को डुप्लिकेट करना।
प्रश्न 2: लगता है जैसे मुझे डेटाबेस मॉडल (models.py) को साइटों के बीच डेटा साझा करने के लिए कई से अधिक रिश्तों में फिर से परिभाषित करने की आवश्यकता होगी। क्या यह सिर्फ उन तालिकाओं तक पहुंचने के तरीके को बदलता है, या मौजूदा साइट के डेटाबेस को भी पुनर्निर्मित करने की आवश्यकता होगी?
साइट ढांचे को लागू करने के लिए इच्छित प्रक्रिया के बारे में आपका मार्गदर्शन बहुत अच्छा होगा और बहुत सराहना की जाएगी।
अस्वीकृत प्रतिक्रिया के लिए धन्यवाद। कुछ स्पष्टीकरण - जब आप कहते हैं "आप तब चुनेंगे कि आप कौन सी साइट को चलाने के लिए चाहते हैं ..." क्या यह दृष्टिकोण दोनों साइटों को एक साथ चलने की अनुमति देता है? यह वास्तव में मेरे लिए एक या दूसरे लक्ष्य नहीं है, दोनों को काम करने की आवश्यकता है। अभी भी यह सब अवशोषित कर रहा है। प्रो को बस कूदने की कोशिश करें और इसे आज़माएं (और उम्मीद है कि मैं इसे बहुत गड़बड़ नहीं करता :) – RossGK
निश्चित रूप से - विकास के दौरान आप एक ही समय में Django विकास सर्वर के दो उदाहरण चलाते हैं, प्रत्येक साइट के लिए एक। उत्पादन पर आप अपने वेब सर्वर कॉन्फ़िगरेशन में दो अलग-अलग नियम जोड़ते हैं, प्रत्येक बैठने के लिए एक। –