Files
Touchh/settings/settings.py
trevor 93994ed929 settings application
.env db params+global settings in admin model
ECVI plugin module
2024-12-14 20:50:11 +09:00

51 lines
1.5 KiB
Python

# settings.py
from .models import LocalDatabase
from decouple import config
from django.conf import settings
from .models import LocalDatabase
def load_database_settings():
# Загружаем настройки из базы данных
local_db_settings = LocalDatabase.objects.all()
for db in local_db_settings:
# Пример добавления дополнительной базы данных
settings.DATABASES[db.name] = {
'ENGINE': 'django.db.backends.mysql',
'NAME': db.db_name,
'USER': db.username,
'PASSWORD': db.password,
'HOST': db.host,
'PORT': db.port,
}
# Вызов этой функции при старте проекта, например, в файле wsgi.py
load_database_settings()
# Чтение локальных баз данных
local_databases = LocalDatabase.objects.filter(is_active=True)
# Основная база данных
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': config('DB_NAME'),
'USER': config('DB_USER'),
'PASSWORD': config('DB_PASSWORD'),
'HOST': config('DB_HOST'),
'PORT': config('DB_PORT'),
},
}
# Добавление локальных баз данных
for db in local_databases:
DATABASES[db.name] = {
'ENGINE': 'django.db.backends.postgresql',
'NAME': db.name,
'USER': db.user,
'PASSWORD': db.password,
'HOST': db.host,
'PORT': db.port,
}