Я справляюсь с этим, имея несколько файлов настроек, так как я использую это для поддержания набора общих настроек с изменениями для каждого экземпляра.Это немного сложнее в настройке, чем некоторые другие решения, но мне все равно нужно было это сделать, потому что я управлял немного другими настройками для локальной разработки, удаленной разработки, организации и производства.
*У 1004 * есть несколько опций для управления настройками, и я выбрал практику, аналогичную описанной в https://code.djangoproject.com/wiki/SplitSettings#SimplePackageOrganizationforEnvironments
Итак, в моем каталоге проектов Django у меня есть папка настроек, которая выглядит следующим образом:
$ tree settings
settings
├── defaults.py
├── dev.py
├── dev.pyc
├── __init__.py
├── lettuce.py
├── travis.py
├── unittest.py
Общие настройки находятся в файле settings / defaults.py, и я импортирую их в файлы настроек своего экземпляра.Поэтому settings / unittest.py выглядит следующим образом:
from defaults import *
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'my_database',
}
}
Затем, когда я хочу запустить тесты, я просто выполняю:
$ ./manage.py test --settings=settings.unittest
, чтобы использовать sqlite для тестирования.Я буду использовать другой модуль настроек, если я хочу использовать другой тестовый бегун или конфигурацию базы данных.