This is a Buildout recipe, that can export buildout configuration to JSON file. Later this exported file can be used to get exported settings and use them in your project.
Buildout provides extensive functionality for managing configuration, but does not have tools to use this configuration anywhere else outside Buildout itself. This recipe exports all settings to JSON file, allowing to use configuration parameters outside Buildout.
[buildout]
parts = settings
[settings]
recipe = exportrecipe
website-url = http://example.com/
This will generate settings.json
file in your buildout directory with following content:
{
"website-url": "http://localhost:8000/"
}
exportrecipe
will export all parameters from recipe's section, except
recipe
parameter.
Now you can use this file for example in your settings.py
:
import json
with open('settings.json') as f:
settings = json.load(f)
WEBSITE_URL = settings['website-url']
Also you can use a helper:
import exportrecipe
config = exportrecipe.load('settings.json')
WEBSITE_URL = config.website_url
It is possible to change destination of exported file using destination
option:
[buildout]
parts = settings
[settings]
recipe = exportrecipe
destination = somewhereelse.json
website-url = http://example.com/
This will generate somewhereelse.json
file with following content:
{
"destination": "somewhereelse.json",
"website-url": "http://localhost:8000/"
}