django-composed-configuration

Turnkey Django settings for data management applications.
Installation
Add to your project's requirements:
django-composed-configuration[dev,prod]
In your project's settings.py
:
from composed_configuration import (
ComposedConfiguration,
ConfigMixin,
DevelopmentBaseConfiguration,
ProductionBaseConfiguration,
)
class _ProjectMixin(ConfigMixin):
pass
@staticmethod
def mutate_configuration(configuration: ComposedConfiguration) -> None:
pass
class DevelopmentConfiguration(_ProjectMixin, DevelopmentBaseConfiguration):
pass
class ProductionConfiguration(_ProjectMixin, ProductionBaseConfiguration):
pass
At runtime:
- continue to set the
DJANGO_SETTINGS_MODULE
environment variable (pointing to settings.py
)
- also set
DJANGO_CONFIGURATION
, with a value of
either DevelopmentConfiguration
or ProductionConfiguration