2010-07-14 14 views
5

कभी-कभी डीजेंगो एप्लिकेशन में विभिन्न कोड फ़ाइलों के बीच कुछ स्थिरांक साझा करना फायदेमंद होता है।Django - एक ऐप के भीतर कॉन्फ़िगरेशन स्थिरांक कैसे साझा करें?

उदाहरण:
- नाम या विभिन्न मॉड्यूल में प्रयोग किया जाता डंप फ़ाइल के स्थान \ आदेशों आदि
- पूरे एप्लिकेशन
के लिए बंद \ पर डीबग मोड - साइट विशिष्ट विन्यास

सुरुचिपूर्ण होगा क्या ऐसा करने का \ pythonic तरीका?

उत्तर

0

कॉन्फ़िगरेशन मॉड्यूल बनाएं।

Configuration.py: अन्य स्रोत फ़ाइलों से (अपनी परियोजना/एप्लिकेशन स्रोत निर्देशिका में)

MYCONST1 = 1 
MYCONST2 = "rabbit" 

आयात यह:

from Configuration import MYCONST1,MYCONST2 
... 
6

वहां पहले से ही एक परियोजना चौड़ा settings.py फ़ाइल है। यह अपनी खुद की कस्टम सेटिंग बनाने के लिए एक आदर्श जगह है।

+0

वास्तव में, इसलिए मैंने विशेष रूप से एप्लिकेशन स्कोप – Jonathan

+0

@ जोनाथन के बारे में पूछा: क्या आप एक * ऐप विशिष्ट * सेटिंग फ़ाइल ढूंढ रहे हैं? कुछ ऐसा जो बाद में प्रोजेक्ट सेटिंग्स फ़ाइल में ओवरराइड किया जा सकता है? –

+0

@ जोनाथन, आप सेटिंग.py में ऐप विशिष्ट सेटिंग्स डाल सकते हैं/अंत में, एक परियोजना सर्वर पर चलती है न कि ऐप –

6

आप की तरह

MY_SETTING = 'value' 

अपने settings.py में सेटिंग्स प्रदान कर सकते हैं और किसी भी मॉड्यूल में आप

from django.conf import settings 
settings.MY_SETTING 
0

Django क्षुधा है जैसे कि यह लाने कर सकते हैं (कम या ज्यादा) के लिए हैं प्लगेबल। इसलिए, आप जो चाहते हैं उसे पैरामीट्रिज करने के लिए आपको किसी ऐप के कोड में हैक करना नहीं है (अगर आपको ऐसा करना है तो यह काफी गड़बड़ होगी! कल्पना कीजिए कि आप इंटरनेट पर डाउनलोड किए गए ऐप को अपग्रेड करना चाहते हैं ... आप नए संस्करण के कोड में फिर से हैक करना होगा?!?)।

इस कारण से आपको ऐप स्तर पर ऐप-स्तरीय सेटिंग्स नहीं जोड़नी चाहिए, बल्कि उन्हें अपने प्रोजेक्ट-व्यापी settings.py में कहीं और एक साथ रखना चाहिए।

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