Bu daha eski bir gönderi ama sanırım bunu yararlı library
eklersem işleri basitleştirecek.
Django yapılandırmasını kullan
Hızlı başlangıç
pip install django-configurations
Ardından, projenizin settings.py veya ayar sabitlerini saklamak için kullandığınız diğer modüllerde dahil edilen configuration.Configuration sınıfını alt sınıflara ayırın, örneğin:
# mysite/settings.py
from configurations import Configuration
class Dev(Configuration):
DEBUG = True
DJANGO_CONFIGURATION
Ortam değişkenini yeni oluşturduğunuz sınıfın adına ayarlayın , örneğin ~/.bashrc
:
export DJANGO_CONFIGURATION=Dev
ve DJANGO_SETTINGS_MODULE
modül içe aktarma yoluna ortam değişkeni her zamanki gibi, örneğin bash'da:
export DJANGO_SETTINGS_MODULE=mysite.settings
Alternatif tedarik --configuration
Django'nın varsayılan çizgisinde Django yönetim komutlarını kullanırken seçeneği --settings
komut satırı seçeneği, örneğin:
python manage.py runserver --settings=mysite.settings --configuration=Dev
Django'nun yapılandırmanızı kullanmasını sağlamak için, şimdi manage.py veya wsgi.py betiğinizi, uygun başlatma işlevlerinin django-configuration sürümlerini kullanacak şekilde değiştirmeniz gerekir , örneğin, django-configuration kullanan tipik bir manage.py şuna benzer:
#!/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)
Uyarı hattı 10'da ortak aracı kullanmayın django.core.management.execute_from_command_line
, bunun yerine configurations.management.execute_from_command_line
.
Aynısı wsgi.py dosyanız için de geçerlidir , örneğin:
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()
Burada varsayılan django.core.wsgi.get_wsgi_application
işlevi değil, onun yerine kullanıyoruz configurations.wsgi.get_wsgi_application
.
Bu kadar! Artık projenizi manage.py ve en sevdiğiniz WSGI etkin sunucuyla kullanabilirsiniz.