django-class-settings 0.2.0

Creator: codyrutscher

Last updated:

Add to Cart

Description:

djangoclasssettings 0.2.0

django-class-settings







django-class-settings aims to simplify complicated settings layouts by using
classes instead of modules. Some of the benefits of using classes include:

Real inheritance
Foolproof settings layouts
Properties
Implicit environment variable names

Example
# .env
export DJANGO_SECRET_KEY='*2#fz@c0w5fe8f-'
export DJANGO_DEBUG=true

# manage.py
import os
import sys

import class_settings
from class_settings import env

from django.core.management import execute_from_command_line

if __name__ == '__main__':
env.read_env()
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
os.environ.setdefault('DJANGO_SETTINGS_CLASS', 'MySettings')
class_settings.setup()
execute_from_command_line(sys.argv)

# myproject/settings.py
from class_settings import Settings, env


class MySettings(Settings):
SECRET_KEY = env()
DEBUG = env.bool(default=False)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
ROOT_URLCONF = 'myproject.urls'
WSGI_APPLICATION = 'myproject.wsgi.application'

Installation
Install it from PyPI with pip:
pip install django-class-settings

Requirements

Django 1.11+
Python 3.5+

Resources

Documentation: https://django-class-settings.readthedocs.io/
Releases: https://pypi.org/project/django-class-settings/
Changelog: https://github.com/orlnub123/django-class-settings/blob/master/CHANGELOG.md
Code: https://github.com/orlnub123/django-class-settings
License: MIT

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.