django-easysettings

Easy app-specific settings for Django
Download

django-easysettings Ranking & Summary

Advertisement

  • Rating:
  • 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