जिस तरह से मैं इस समस्या से निपटता हूं, और मुझे लगभग हर परियोजना में इसका सामना करना पड़ता है, मैं किसी से चुने गए पैटर्न का उपयोग कर रहा हूं। इस पैटर्न में - जिसका उपयोग केवल क्रेडेंशियल्स को संस्करण नियंत्रण में नहीं होने के कारण ही किया जा सकता है बल्कि पर्यावरण/प्लेटफार्म विशिष्ट सेटिंग्स को अलग करने के लिए भी किया जा सकता है - मुख्य सेटिंग्स फ़ाइल, जो संस्करण नियंत्रण में है, एक माध्यमिक सेटिंग्स फ़ाइल आयात करती है जो उपयुक्त है "local_settings" कहा जाता है। यह "local_settings" फ़ाइल संस्करण नियंत्रण के तहत नहीं रखी गई है, और प्रत्येक मंच के लिए जिस पर स्रोत तैनात किया गया है, एक अलग, विशिष्ट स्थानीय_सेटिंग फ़ाइल केवल उस प्लेटफ़ॉर्म के अनुरूप बनाई गई है।
मैं आपको एक उदाहरण दूंगा कि मैं आमतौर पर अपने Django/पायथन परियोजनाओं के लिए यह कैसे करता हूं। एक केंद्रीय, प्रति-परियोजना settings.py
फ़ाइल है, जो संस्करण नियंत्रण में है, और एक मंच (शायद प्लेटफ़ॉर्म यहां उपयोग करने के लिए बिल्कुल सही शब्दावली नहीं है) विशिष्ट local_settings.py
फ़ाइल। local_settings.py
फ़ाइल settings.py
फ़ाइल है, जहां विभिन्न सेटिंग चर निम्नलिखित तरीके से परिभाषित कर रहे हैं के भीतर से आयात किया जाता है:
import local_settings
DATABASE_USER = local_settings.db_user
DATABASE_PASSWORD = local_settings.db_pass
और इसके बाद के संस्करण का टुकड़ा के साथ जाने के लिए एक उदाहरण के रूप में, local_settings.py
फ़ाइल इस प्रकार परिभाषित किया गया है:
db_user = 'user'
db_pass = 'pass'
मुझे वास्तव में अच्छी तरह से काम करने के लिए इस मुद्दे से निपटने के दौरान इस पैटर्न को मिला है।
यह एक बहुत अच्छी तकनीक की तरह लगता है, मैं इसका उपयोग शुरू कर रहा हूँ। क्या आप 'local_settings.py' स्रोत कोड का उदाहरण प्रदान करना चाहते हैं? –
स्रोत नियंत्रण में अपने Django settings.py के नीचे आप यह करते हैं: कोशिश करें: सेटिंग्स_लोकल आयात से * आयात त्रुटि को छोड़कर: पास –
हे स्पाइक। मेरा मानना है कि इस मामले में 'local_settings.py' फ़ाइल गुम है, आमतौर पर अनुपलब्ध फ़ाइल/मॉड्यूल बबल अप आयात करने के कारण अपवाद को छोड़ना एक अच्छा विचार है ताकि परियोजना को स्थापित करने वाला व्यक्ति बिल्कुल जानता हो क्या हो रहा है। – ayaz