Ini adalah posting yang lebih lama tetapi saya pikir jika saya menambahkan ini berguna libraryitu akan menyederhanakan banyak hal.
Gunakan django-configuration
Mulai cepat
pip install django-configurations
Kemudian buat subkelas dari kelas configurations.Configuration yang disertakan dalam proyek Anda settings.py atau modul lain yang Anda gunakan untuk menyimpan konstanta pengaturan, misalnya:
# mysite/settings.py
from configurations import Configuration
class Dev(Configuration):
DEBUG = True
Setel DJANGO_CONFIGURATIONvariabel lingkungan ke nama kelas yang baru saja Anda buat, misalnya di ~/.bashrc:
export DJANGO_CONFIGURATION=Dev
dan DJANGO_SETTINGS_MODULEvariabel lingkungan ke jalur impor modul seperti biasa, misalnya di bash:
export DJANGO_SETTINGS_MODULE=mysite.settings
Alternatifnya sediakan --configurationopsi saat menggunakan perintah manajemen Django sepanjang --settingsbaris opsi baris perintah bawaan Django , misalnya:
python manage.py runserver --settings=mysite.settings --configuration=Dev
Untuk mengaktifkan Django untuk menggunakan konfigurasi Anda sekarang harus mengubah Anda manage.py atau wsgi.py script untuk menggunakan versi Django-konfigurasi fungsi pemula yang tepat, misalnya khas manage.py menggunakan Django-konfigurasi akan terlihat seperti ini:
#!/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)
Perhatikan pada baris 10 kami tidak menggunakan alat umum django.core.management.execute_from_command_linemelainkan configurations.management.execute_from_command_line.
Hal yang sama berlaku untuk file wsgi.py Anda , misalnya:
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()
Di sini kami tidak menggunakan django.core.wsgi.get_wsgi_applicationfungsi default melainkan configurations.wsgi.get_wsgi_application.
Itu dia! Anda sekarang dapat menggunakan proyek Anda dengan manage.py dan server berkemampuan WSGI favorit Anda.