Skip to content

MostFrumiousBandersnatch/django-simple-settings

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django Simple Settings

A very simple settings configurable in Django Admin Panel. Supported types: bool, float, int, str.

https://badge.fury.io/py/django-simple-settings.png https://api.travis-ci.org/alikus/django-simple-settings.png https://coveralls.io/repos/alikus/django-simple-settings/badge.png?branch=master

Installation

  1. Install a package.
$ pip install django-simple-settings
  1. Add "simple_settings" to your INSTALLED_APPS setting:
INSTALLED_APPS = (
    ...
    'simple_settings',
)
  1. Add context processor if you would like:
TEMPLATE_CONTEXT_PROCESSORS = (
    '...',
    'simple_settings.context_processors.simple_settings',
)
  1. Create models:
$ python manage.py migrate || python manage.py syncdb

Usage

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')

Settings

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

Requirements

  • Python 2.6, 2.7, 3.3
  • Django 1.3+

About

A very simple settings configurable in Django Admin Panel

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%