Skip to main content

A Django util for managing app settings.

Project description

Django Zero Settings

a Django util for managing app settings.

pip install django-zero-settings

Usage

you will create a settings object like:

from zero_settings import ZeroSettings

app_settings = ZeroSettings(
    # key will be used to get user settings from Django settings
    # required, must be string
    key="ZERO_SETTINGS",

    # defaults settings
    # required, must be dict
    defaults={
        "TEST_KEY": "test_key"
        "TEST_IMPORT": "module.file.class_name",
        "TEST_IMPORT_LIST": [
            "module.file.class_name_1",
            "module.file.class_name_2",
        ]
    },

    # manually defining user settings,
    # by default settings will be loaded from Django settings with key,
    # optional, can be dict or None
    user_settings=None,

    # list of settings that must be imported, lazy check,
    # optional, can be list/tuple or None
    import_settings=["TEST_IMPORT", "TEST_IMPORT_LIST"],

    # dict of settings that had be removed,
    # message can be None or empty string to show default,
    # optional, can be dict or None
    removed_settings={
        "TEST_REMOVED": "An error message to show",
        "TEST_ANOTHER_REMOVED": "", # or None
    },

    # settings documents location, to refer user to
    # optional, can be str or None
    settings_doc="https://app.com/doc/settings"
)

then you can import it and use:

from app.settings import app_settings

print(app_settings.TEST_KEY)

you can register settings for auto reload on change:

from zero_settings import ZeroSettings, register_reload

# create your app settings
app_settings = ZeroSettings(...)

# register app settings
register_reload(app_settings)

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-zero-settings-0.1.4.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

django_zero_settings-0.1.4-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file django-zero-settings-0.1.4.tar.gz.

File metadata

  • Download URL: django-zero-settings-0.1.4.tar.gz
  • Upload date:
  • Size: 16.3 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.56.0 CPython/3.9.6

File hashes

Hashes for django-zero-settings-0.1.4.tar.gz
Algorithm Hash digest
SHA256 650e15d8d7f5c2feed6421e2769a0fbe00c71879a9887f6168cad73eb8e366c9
MD5 bf15bfdd095c0257009e5607728c0f15
BLAKE2b-256 53b1510698295bd996e4135fb723fc864ec2451add9055544853017bedf35b0a

See more details on using hashes here.

File details

Details for the file django_zero_settings-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: django_zero_settings-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 16.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.56.0 CPython/3.9.6

File hashes

Hashes for django_zero_settings-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1054ad5fb77bed643c4dc1aa1ec2267d046fb73731ed77067e350d77a16e7c3f
MD5 0805c9d142170d5d7cd6faeda62da2ee
BLAKE2b-256 6ee25e7d1b4d303092f652e1561b0ad7d5e251a1911935cdb6718ecf0c8d5d8d

See more details on using hashes here.

Supported by

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