यह एक पुरानी पोस्ट है, लेकिन मुझे लगता है कि अगर मैं इस उपयोगी को जोड़ दूं तो library
यह चीजों को सरल बना देगा।
Django-कॉन्फ़िगरेशन का उपयोग करें
जल्दी शुरू
pip install django-configurations
फिर शामिल विन्यास को शामिल करें। अपने प्रोजेक्ट की सेटिंग्स में कोनफिगरेशन क्लास या सेटिंग्स को स्टोर करने के लिए आपके द्वारा उपयोग किए जा रहे किसी अन्य मॉड्यूल जैसे:
# mysite/settings.py
from configurations import Configuration
class Dev(Configuration):
DEBUG = True
DJANGO_CONFIGURATION
पर्यावरण चर को आपके द्वारा बनाए गए वर्ग के नाम पर सेट करें , जैसे ~/.bashrc
:
export DJANGO_CONFIGURATION=Dev
और DJANGO_SETTINGS_MODULE
पर्यावरण चर के लिए मॉड्यूल आयात पथ हमेशा की तरह, जैसे कि बैश में:
export DJANGO_SETTINGS_MODULE=mysite.settings
--configuration
Django के डिफ़ॉल्ट --settings
कमांड लाइन विकल्प की तर्ज पर Django प्रबंधन कमांड का उपयोग करते समय वैकल्पिक रूप से विकल्प की आपूर्ति करें , जैसे:
python manage.py runserver --settings=mysite.settings --configuration=Dev
आपके विन्यास का उपयोग करने के लिए Django सक्षम करने के लिए अब आप अपने को संशोधित करना manage.py या wsgi.py उचित स्टार्टर काम करता है, उदाहरण के लिए एक विशिष्ट की Django-विन्यास 'संस्करण का उपयोग करें स्क्रिप्ट manage.py Django-विन्यास का उपयोग कर इस प्रकार दिखाई देगा:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
os.environ.setdefault('DJANGO_CONFIGURATION', 'Dev')
from configurations.management import execute_from_command_line
execute_from_command_line(sys.argv)
10 लाइन में सूचना हम आम उपकरण का उपयोग नहीं करते हैं, django.core.management.execute_from_command_line
लेकिन इसके बजाय configurations.management.execute_from_command_line
।
वही आपकी wsgi.py फ़ाइल पर लागू होता है , जैसे:
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
os.environ.setdefault('DJANGO_CONFIGURATION', 'Dev')
from configurations.wsgi import get_wsgi_application
application = get_wsgi_application()
यहां हम डिफ़ॉल्ट django.core.wsgi.get_wsgi_application
फ़ंक्शन का उपयोग नहीं करते हैं, बल्कि इसके बजाय configurations.wsgi.get_wsgi_application
।
बस! अब आप के साथ अपनी परियोजना का उपयोग कर सकते manage.py और अपने पसंदीदा WSGI सक्षम सर्वर।