Почему бы просто не добавить новую DATABASE
Конфигурацию в конце настроек? Он автоматически переопределит предыдущую DATABASE
конфигурацию. Я использую так:
DBCONIG="DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '${dbName}',
'USER': '${dbUName}',
'PASSWORD': '${dbPass}',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}"
echo $DBCONIG >> settings.py
Здесь я собираю dbName
, dbUName
и т. Д. С ввода оболочки.
Для более чистого подхода к реализации я сохраняю local_settings.py
, который имеет настройки, специфичные для компьютера пользователя. Внутри local_settings.py
я положил конфигурации БД пользователя. и я импортирую этот файл в settings.py
так:
try:
from .local_settings import *
except:
pass
Кроме того, я обычно помещаю файл local_settings.py
в .gitignore
, чтобы эти параметры не передавались в хранилище.