Skip to main content

Extended Settings for Django Project with settings.d/

Project description

django-extended-settings

Apps for Django to extend global settings with additional files

Initialize other configuration settings for django project Other configurations must be set in /path/to/project/djangoproject/settings.d/*_settings.py

    Project/
    |_ apps1/
    |_ ...
    |_ project/
       |_ settings.py
       |_ urls.py
       |_ ...
       |_ settings.d/
          |_ one_settings.py
          |_ second_settings.py

The current version of the Django Extended Settings is 1.2.0. It works on Django ≥ 2.0. (not tested other)

Installation

Getting the code

The recommended way to install the Django Extended Settings is via pip or pipenv:

$ pip install django-extended-settings

Prerequisites

Make sure add extended_settings to your INSTALLED_APPS setting:

INSTALLED_APPS = [
    # ...
    'extended_settings',
    # ...
]

Play settings into your project

Create sub directory settings.d/ into django project directory and put your configuration into independant files with this patterns *_settings.py

sample : /path/to/project/djangopython/settings.d/production_settings.py

Play database settings

You can add some settings in database

$ ./manage.py migrate

In your python files, you can create settings (in command for example) like this

from extended_settings.models import ExtentedSettings

o = ExtentedSettings()
o.name = "My home page location"
o.key = "hostname"
o.value = "http://localhost:8000"
o.save()

To retrieve settings in your views, ...

from extended_settings.models import ExtentedSettings

my_var = ExtentedSettings.get("hostname")
my_var = ExtentedSettings.get("hostname", 'default value')

my_int = ExtentedSettings.get_int("my-int")
my_float = ExtentedSettings.get_float("my-float", 100.0)
my_bool = ExtentedSettings.get_boolean("my-bool") # True = yes, y, true, 1, ...

Misc

The Django Extended Settings is released under the BSD license, like Django itself. If you like it, please consider contributing!

The Django Extended Settings was originally created by Mickael Badet in September 2018.

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-extended-settings-1.3.1.tar.gz (6.7 kB view details)

Uploaded Source

File details

Details for the file django-extended-settings-1.3.1.tar.gz.

File metadata

File hashes

Hashes for django-extended-settings-1.3.1.tar.gz
Algorithm Hash digest
SHA256 6d2be9d85a3bb84f99071952d7fca651de104b0829d7fe8c599178f8fa6c1961
MD5 36a807a2bf122ad587381c96d4beb456
BLAKE2b-256 0a0be4d383b51b50a38c1decdc3440dad029dac5262e29aaac2e4800ce3dfff5

See more details on using hashes here.

Supported by

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