A very simple settings configurable in Django Admin Panel. Supported types: bool, float, int, str.
- Install a package.
$ pip install django-simple-settings
- Add "simple_settings" to your INSTALLED_APPS setting:
INSTALLED_APPS = (
...
'simple_settings',
)
- Add context processor if you would like:
TEMPLATE_CONTEXT_PROCESSORS = (
'...',
'simple_settings.context_processors.simple_settings',
)
- Create models:
$ python manage.py migrate || python manage.py syncdb
Get settings:
from simple_settings import settings
print settings.get('is_feature_available')
print settings.get('is_feature_available', default=False)
print settings['is_feature_available']
Get all settings as dict:
print settings.all()
Get settings in template if you include context processor:
{{ simple_settings.is_feature_available }}
Set settings:
settings.set('is_feature_available', True)
settings.set('pi', 3.14159265359)
settings.set('answer', 42)
settings.set('metallica', 'Yeah!')
Delete settings:
settings.delete('is_feature_available')
Default application settings can be overriden in settings.py:
SIMPLE_SETTINGS_CACHE_TIMEOUT = 60 * 60 * 24 # default cache timeout is one day
SIMPLE_SETTINGS_CACHE_ALIAS = 'default' # default cache backend
- Python 2.6, 2.7, 3.3
- Django 1.3+