{ "info": { "author": "Kuba Janoszek", "author_email": "kuba.janoszek@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7" ], "description": "django-settings\n===============\n\n\n.. image:: https://badge.fury.io/py/django-settings.png\n :target: https://badge.fury.io/py/django-settings\n\n.. image:: https://api.travis-ci.org/jqb/django-settings.png?branch=master\n :target: https://travis-ci.org/jqb/django-settings\n\n\nDjango reusable application for storing global project settings in database.\n\nBy project settings I mean things like admin mail, some default values like\ndefault_post_limit etc. Values are validated depending their type.\nBegining with ver 1.3 you can register your own settings values.\n\n\nSupported versions\n------------------\n\n* Python: 2.6, 2.7 (python 2.6 requires importlib)\n* Django: 1.3, 1.4, 1.5\n\n\nAPI\n---\n\nIMPORTANT: changed in version 1.3, old api still works but caching do not work with it.\n\n\n.. code-block:: python\n\n import django_settings\n\n # getting values\n # this will raise django_settings.models.Setting.DoesNotExist\n # exception if value not exists\n # if value is not in cache it will be cached\n django_settings.get('post_limit')\n\n # if you not sure value exists you can pass \"default\" parameter,\n # at this point default is NOT cached\n django_settings.get('post_limit', default=10)\n\n # set values - cache is updated for \"get\" and \"exists\" method\n # values are validated using setting_value model clean_fields method\n django_settings.set('Email', 'admin_email', 'admin@admin.com')\n\n # If you want to avoid validation, do this:\n django_settings.set('Email', 'admin_email', 'admin@admin.com', validate=False)\n\n # checking if value exists\n django_settings.exists('admin_email')\n\n # getting all values as a dict\n django_settings.all()\n\n\nInstallation & setup\n--------------------\n\n1) Install it using pip:\n\n.. code-block:: bash\n\n $> pip install django-settings\n\n\n2) Add \"django_settings\" to your INSTALLED_APPS\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n 'django.contrib.contenttypes', # contenttypes framework is required\n\n # ...\n\n 'django_settings',\n\n # ...\n )\n\n\n3) If you want to add your own settings models, please add them in one of your\n applications models file, and register them with django_settings api:\n\n.. code-block:: python\n\n # //models.py\n from django.db import models\n\n\n # ... your application models\n\n\n import django_settings\n\n class Text(django_settings.db.Model):\n value = models.TextField()\n class Meta:\n abstract = True # it's IMPORTANT - it need to be abstract\n django_settings.register(Text)\n\n\nRemember to define model as abstract, this is important because of how django\ntreats model classes.\n\n\nThere is ability to setup some defaults via project settings.py file.\nThose settings will be setup ONLY if they not already exists in db.\n\n.. code-block:: python\n\n DJANGO_SETTINGS = {\n 'application_limit': ('Integer', 2),\n 'admin_email': ('String', 'admin@mail.com'),\n }\n\n\nFor import DJANGO_SETTINGS into database use command:\n\n.. code-block:: python\n\n ./manage.py settings_initialize\n\n\nDefault django-settings timeout is set to 1 day, but it can be changed\nin your project settings:\n\n.. code-block:: python\n\n DJANGO_SETTINGS_TIMEOUT = 60 * 60 * 10 # 10 hours\n\n\nTimeout let's you define cache timeout (in sec.) for each of the\nsettings. After the given time values gets expired and each of them\nwill be recalculated (at the moment you ask for the given\nsetting). Introduced due to django's defaults cache timeout (5 min):\nhttps://docs.djangoproject.com/en/dev/topics/cache/#cache-arguments\n\n\nSettings types\n--------------\n\nBuilidin settings types: Email, Integer, String, PositiveInteger\n\n\nAdmin\n-----\n\nYou can manipulate setting via your admin interface.\n\n\nChangelog\n---------\n\n1.3.12 - post sync db settings initialization fixed\n\n - initial signal moved to models\n\n\n1.3-11 - several bug fixes\n\n - \"Clear cache for settings\" admin action exception fixed [#12]\n - admin setting edition cache update bug fixed\n - \"syncdb\" signal callback is now fixed so it won't \"reinit\" settings on every syncdb [#14]\n\n\n1.3-8 - DJANGO_SETTINGS_TIMEOUT fix\n\n - it's now cofigurable through project settings\n\n\n1.3-7 - several improvements and bug fix\n\n - \"all\" function added\n - admin setting add/edit callback: \"DataAPI._set_cache_for\" bug fix.\n - settings timeout customization added (default to 1 day)\n\n\n1.3-4 - setup.py bug fix\n\n\n1.3-3 beta - python & django various versions compatibility changes\n\n\n1.3-2 beta - several bug fixes including cache unicode keys handling, tests added\n\n\n1.3-1 beta - admin render_change_form fix\n\n\n1.3 beta - several improvements has been made since ver 1.0\n\n 1) setting name need to be unique now (backward incompatiblity)\n 2) from now you can extend settings with your own types using\n `django_settings.register` function\n 3) new api with caching mechanism introduced\n 4) admin interface has been improved, action to clear cache\n keys only used by the package added\n\n Some tests has been added for core functionality.\n\n\nBackward incompatible changes\n\n `django_settings.models.Setting` name need to be unique now, however\n ver 1.3 still allows it to not to be unique. Just set `DJANGO_SETTINGS_UNIQUE_NAMES`\n application setting to False (True is by default).\n\n\nAuthor\n------\n\n * Kuba Janoszek (kuba.janoszek@gmail.com)\n\n\nContributors\n------------\n\n * `Trey Hunner `_\n * `ygneo `_\n * `bsavelev `_\n * `akolpakov `_\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/jqb/django-settings", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-settings", "package_url": "https://pypi.org/project/django-settings/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-settings/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/jqb/django-settings" }, "release_url": "https://pypi.org/project/django-settings/1.3.12/", "requires_dist": null, "requires_python": null, "summary": "Simple django reusable application for storing project settings in database.", "version": "1.3.12" }, "last_serial": 1409359, "releases": { "1.0.0beta": [ { "comment_text": "", "digests": { "md5": "50d95d223d86cad0ef603ecd3965ba2b", "sha256": "148bd6b6e088a427d7c7cde39bff03c62e2844f43773b739014a63e4cdf32bcf" }, "downloads": -1, "filename": "django-settings-1.0.0beta.tar.gz", "has_sig": false, "md5_digest": "50d95d223d86cad0ef603ecd3965ba2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2581, "upload_time": "2012-07-11T16:36:44", "url": "https://files.pythonhosted.org/packages/47/ad/be28d85b820af5adfc57afaab35e55315ab213e070c0bf92f58ddcce75e8/django-settings-1.0.0beta.tar.gz" } ], "1.3-1-beta": [ { "comment_text": "", "digests": { "md5": "7e1e8990c9c0c7f32572f7fe6368d9a8", "sha256": "b9ece87b290e80aa779e45222e238ee1c5d70a9e401b2d3e3a1ac53c910ffa23" }, "downloads": -1, "filename": "django-settings-1.3-1-beta.tar.gz", "has_sig": false, "md5_digest": "7e1e8990c9c0c7f32572f7fe6368d9a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9345, "upload_time": "2013-01-08T19:50:09", "url": "https://files.pythonhosted.org/packages/d2/13/726345cbf62b7f852cc1e74311187a767d9fdb039e1b55bbb2bfb3716428/django-settings-1.3-1-beta.tar.gz" } ], "1.3-11": [ { "comment_text": "", "digests": { "md5": "62b063cdfae2d59213a00eedcd52b323", "sha256": "4652f2d07cbae4a419e4f7c7cc925be6e6998fcb6202564abfa166b06b70479f" }, "downloads": -1, "filename": "django-settings-1.3-11.tar.gz", "has_sig": false, "md5_digest": "62b063cdfae2d59213a00eedcd52b323", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10767, "upload_time": "2014-01-26T21:38:27", "url": "https://files.pythonhosted.org/packages/58/35/8f6445a5cbc6acda938f451d7d566ea59406630c4bb8016d7038c991071c/django-settings-1.3-11.tar.gz" } ], "1.3-2-beta": [ { "comment_text": "", "digests": { "md5": "038916f10b26a2b9297761169c7f2519", "sha256": "fe565d397056a4c37629cf5f70d583c1f81437a40bd8170bab1fc79d69e220b8" }, "downloads": -1, "filename": "django-settings-1.3-2-beta.tar.gz", "has_sig": false, "md5_digest": "038916f10b26a2b9297761169c7f2519", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9454, "upload_time": "2013-05-02T15:51:46", "url": "https://files.pythonhosted.org/packages/da/fd/d5795cf035e47713bb015365298638f471ca50d0b10359a0886d077592b6/django-settings-1.3-2-beta.tar.gz" } ], "1.3-3-beta": [ { "comment_text": "", "digests": { "md5": "a6f444d884b9ddb894ff994d39cdfc50", "sha256": "cb6201c253f8781487ea1c81db19d18ff2f0cc285629f5cc9c529ddc2f32a7ee" }, "downloads": -1, "filename": "django-settings-1.3-3-beta.tar.gz", "has_sig": false, "md5_digest": "a6f444d884b9ddb894ff994d39cdfc50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9473, "upload_time": "2013-07-16T21:55:28", "url": "https://files.pythonhosted.org/packages/a0/c6/91346c9ddcb4dc944da299c484336a477e8428e4717281c8211e50dc7c1c/django-settings-1.3-3-beta.tar.gz" } ], "1.3-4": [ { "comment_text": "", "digests": { "md5": "ed7f957c20911dbebd8b2006ecf32556", "sha256": "95dbce707e0cad33b0aa38652805178074159fe540c45207da38c995a3fffea3" }, "downloads": -1, "filename": "django-settings-1.3-4.tar.gz", "has_sig": false, "md5_digest": "ed7f957c20911dbebd8b2006ecf32556", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9747, "upload_time": "2013-09-01T12:55:51", "url": "https://files.pythonhosted.org/packages/8f/d4/82e24da17c8c865783317371d2d2c08a870e18e5cf9ce33be82aad66df25/django-settings-1.3-4.tar.gz" } ], "1.3-7": [ { "comment_text": "", "digests": { "md5": "ccd372a891c5b7c16634e4fccf0cad07", "sha256": "0649c880a03b4055203931f5da045170ff6ca21e8ca22aea02a99e18caba216c" }, "downloads": -1, "filename": "django-settings-1.3-7.tar.gz", "has_sig": false, "md5_digest": "ccd372a891c5b7c16634e4fccf0cad07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10480, "upload_time": "2013-10-06T13:26:35", "url": "https://files.pythonhosted.org/packages/8b/cb/c81d84a018baac568eb6df635ed8cd97b3d26e811bdaadbb9d023c632d53/django-settings-1.3-7.tar.gz" } ], "1.3-8": [ { "comment_text": "", "digests": { "md5": "fd50b9647b86ff87261f38c788729700", "sha256": "30bbe889237265c322ff0f7734046745ea38c724ddbf53f29902687b30cdb7d8" }, "downloads": -1, "filename": "django-settings-1.3-8.tar.gz", "has_sig": false, "md5_digest": "fd50b9647b86ff87261f38c788729700", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10514, "upload_time": "2013-10-21T16:58:52", "url": "https://files.pythonhosted.org/packages/27/90/0bb95ddc11a95b55a8a97c26cfe9a25a6c166bbcd8b174366eda83ed995a/django-settings-1.3-8.tar.gz" } ], "1.3-beta": [ { "comment_text": "", "digests": { "md5": "5da977bf445f4cce41ccc93ef7988d37", "sha256": "27965a379dab730bc7b279a506f8d78b977242e7687059e8ec09a76e3b7de712" }, "downloads": -1, "filename": "django-settings-1.3-beta.tar.gz", "has_sig": false, "md5_digest": "5da977bf445f4cce41ccc93ef7988d37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9381, "upload_time": "2012-11-20T19:26:56", "url": "https://files.pythonhosted.org/packages/04/3e/2d1b952b17ca2fc7044d959eafd09561833d082790034c5dbe5b68dcf93d/django-settings-1.3-beta.tar.gz" } ], "1.3.12": [ { "comment_text": "", "digests": { "md5": "44083b05464de9f6ab1b12505da1bb69", "sha256": "8a7c01bd628291746d5fd57c6f1beeb5c0f1ce784cccccf2ddae989e5f69126d" }, "downloads": -1, "filename": "django-settings-1.3.12.tar.gz", "has_sig": false, "md5_digest": "44083b05464de9f6ab1b12505da1bb69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10741, "upload_time": "2015-02-04T12:41:05", "url": "https://files.pythonhosted.org/packages/4f/6d/8dcb21145af6ae3b3f8433b18b52d4be9833078b918f76190ce0562d4120/django-settings-1.3.12.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "44083b05464de9f6ab1b12505da1bb69", "sha256": "8a7c01bd628291746d5fd57c6f1beeb5c0f1ce784cccccf2ddae989e5f69126d" }, "downloads": -1, "filename": "django-settings-1.3.12.tar.gz", "has_sig": false, "md5_digest": "44083b05464de9f6ab1b12505da1bb69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10741, "upload_time": "2015-02-04T12:41:05", "url": "https://files.pythonhosted.org/packages/4f/6d/8dcb21145af6ae3b3f8433b18b52d4be9833078b918f76190ce0562d4120/django-settings-1.3.12.tar.gz" } ] }