Extension for configuring Flask from environment variables.
- Flask
::
pip install flask-envconfig
Simple usage:
::
from flask import Flask
from flask.ext.envconfig import EnvConfig
app = Flask(__name__)
env = EnvConfig(app)
Or, for the application factory pattern:
::
env = EnvConfig()
# At a later time
env.init_app(app)
Now set your configuration variables in your shell, .env file or whatever:
::
FLASK_DEBUG=True
FLASK_SECRET_KEY="Something_or_the_other"
By default only environments variables prefixed with FLASK_ are processed and added to app.config. The extension strips off the prefix so FLASK_DEBUG becomes app.config['DEBUG'] and so forth. The extension understands "True" to mean True, "False" to mean False and "None" to mean None. It also understands lists, tuples and dicts and numbers.
::
FLASK_TRUE=True
FLASK_FALSE=False
FLASK_NONE=None
FLASK_INTEGER=1
FLASK_FLOAT=1.1
FLASK_STRING="This is a string"
FLASK_LIST="['a', 'b', 'c']"
FLASK_TUPLE="('a', 'b', 'c')"
FLASK_DICT="{'a': 1, 'b': 6}"
The prefix can be changed if so desired:
::
EnvConfig(app, 'MYPREFIX_')
Or
::
env = EnvConfig()
env.init_app(app, 'MYPREFIX_')