Це старіший пост, але я думаю, якщо я додаю цю корисну, library
це спростить речі.
Використовуйте конфігурацію джанго
Швидкий старт
pip install django-configurations
Потім підклас кластера включеної конфігурації.Конфігураційний клас у налаштуваннях.py вашого проекту або будь-який інший модуль, який ви використовуєте для зберігання констант налаштувань, наприклад:
# mysite/settings.py
from configurations import Configuration
class Dev(Configuration):
DEBUG = True
Встановіть DJANGO_CONFIGURATION
змінну оточення на ім'я щойно створеного класу, наприклад у ~/.bashrc
:
export DJANGO_CONFIGURATION=Dev
і DJANGO_SETTINGS_MODULE
змінна середовище на шлях імпорту модуля, як зазвичай, наприклад у bash:
export DJANGO_SETTINGS_MODULE=mysite.settings
Альтернативно надайте --configuration
параметр при використанні команд управління Django уздовж рядків --settings
параметра командного рядка за замовчуванням , наприклад:
python manage.py runserver --settings=mysite.settings --configuration=Dev
Щоб увімкнути Django для використання вашої конфігурації, вам тепер потрібно змінити ваш script.py або wsgi.py скрипт, щоб використовувати версії django-configurations відповідних функцій запуску, наприклад, типовий 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
.
Це воно! Тепер ви можете використовувати свій проект за допомогою файлу Manag.py та улюбленого сервера з підтримкою WSGI.