|
@@ -0,0 +1,17 @@
|
|
|
|
+import os
|
|
|
|
+from .misc import yaml_coerce
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+def get_settings_from_environment(prefix):
|
|
|
|
+ """
|
|
|
|
+ Django settings specific to the environment (eg. production) will be stored as environment variables
|
|
|
|
+ prefixed with "PREFIX_", eg. prefix="UNTUBESETTINGS_"
|
|
|
|
+ E.G. environment variables like UNTUBESETTINGS_SECRET_KEY=123, UNTUBESETTINGS_DATABASE="{'DB': {'NAME': 'db'}}"
|
|
|
|
+ will be converted to pure Python dictionary with the prefix "UNTUBESETTINGS_" removed from the keys
|
|
|
|
+ {
|
|
|
|
+ "SECRET_KEY": 123,
|
|
|
|
+ "DB": {'NAME': 'db'}
|
|
|
|
+ }
|
|
|
|
+ """
|
|
|
|
+ prefix_len = len(prefix)
|
|
|
|
+ return {key[prefix_len:]: yaml_coerce(value) for key, value in os.environ.items() if key.startswith(prefix)}
|