Skip to main content

use dynamic (database) settings in your settings.py

Project description

django-dynamicsettings

tests Test coverage status Current version on PyPi monthly downloads PyPI - Python Version PyPI - Django Version

Django app to allow (chosen) settings to be configurable through django admin (or anything that updates the Settings model).

Usage

In your settings.py (or whatever DJANGO_SETTINGS_MODULE you are using), simply change:

MIGHTY_SETTING = 'boring_setting_requires_deploy'

to

from dynamicsettings import DynamicSetting as DYN

MIGHTY_SETTING = DYN('boring_setting_requires_deploy')

And done. MIGHT_SETTING value can now be changed using dynsetting.Setting model (registered in django-admin).

DynamicSetting class caches the values from database as, quite often, the settings are accessed many times in the same loop.
There is CACHE_TTL setting to control it (default being 1 second).

To change it simply put

from dynamicsettings import DynamicSetting as DYN

DYN.CACHE_TTL = 30

in that same settings module. 0 disables cache entirely (not recommended).

Alternatives

https://django-dynamic-preferences.readthedocs.io/en/latest/ seems like a popular solution to this problem but it solves it differently.

You need to register the settings with those decorators while with dynamicsettings you just add an helper to your usual settings.py definition and everything should seamlessly works!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-dynamicsettings-0.0.3.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_dynamicsettings-0.0.3-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file django-dynamicsettings-0.0.3.tar.gz.

File metadata

  • Download URL: django-dynamicsettings-0.0.3.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for django-dynamicsettings-0.0.3.tar.gz
Algorithm Hash digest
SHA256 3c7cc95a6a99e61dccd7b9c371a1f60826a5e36453a903d7e9e4f9dbdf543a4b
MD5 44902ecd40a1b74c36f11e05f9d16a5a
BLAKE2b-256 95d9409d72832d0321709423ca6d00f5e4378ed040ed81bfe6329b4491122bb8

See more details on using hashes here.

File details

Details for the file django_dynamicsettings-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: django_dynamicsettings-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for django_dynamicsettings-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cecff91178c460b6ab0b9c38b0fcea452b2bd01b97e0d3f5c2ad7c3385494d6a
MD5 74f850679d4c5dbc4566cbc29e99d66f
BLAKE2b-256 68fd816af05f10f3eee33837be87f4739220edd912d94dfd4cb9cc820eaff93c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page