django-easysettingsEasy app-specific settings for Django | |
Download |
django-easysettings Ranking & Summary
Advertisement
- License:
- BSD License
- Price:
- FREE
- Publisher Name:
- Chris Beaven
- Publisher web site:
- http://code.google.com/u/smileychris/
django-easysettings Tags
django-easysettings Description
django-easysettings is a Django app that provides app-specific settings for Django.InstallationTo install, run: pip install django-easysettingsOr for the development version: pip install django-easysettings==devUsageCreate a conf.py file within your app's directory, adding attributes for the default values of your app-specific settings. They will be overridden by any project setting that is provided.For example:from easysettings import AppSettingsclass Settings(AppSettings): MYAPP_WIDGETS = ('foo', 'bar')settings = Settings()Then in your app, rather than from django.conf import settings, use from myapp.conf import settings. For example:from myapp.conf import settingsdef dashboard(request): data = {} for widget in settings.MYAPP_WIDGETS: data = render_widget(widget) if settings.DEBUG: data = True # ...Isolating Settings when TestingYou can force your app's tests to use the default project settings rather than any value in the project's settings configuration module.Just set settings.isolated = True.For example, you could use a base test class to do this:class BaseTest(TestCase): def setUp(self): """ Isolate all application specific settings. """ output = super(BaseTest, self).setUp() settings.isolated = True return output def tearDown(self): """ Restore settings to their original state. """ settings.isolated = False settings.revert() return super(BaseTest, self).tearDown()As also shown in the example above, you can revert any changes made by calling settings.revert().Product's homepage
django-easysettings Related Software