Skip to main content

No project description provided

Project description

envsettings

  • Update django settings from environment variables by updating sys.modules
  • Mostly using ast.literal_eval to convert string to python object.
  • Tested by converting all default django settings to string and back to python object and then running django command.

todo

  • simplify code
  • verify settings after they are casted to python object
  1. Usage:
    • in myproject.settings:
      import os
      import sys
      import ast
      
      from djangobuk_envsettings import update_from_env
      
      update_from_env(
          sys.modules[__name__],
          # default prefix for all variables
          pre='DJANGO_',
          # settings that can be updated from env
          # by default all settings are allowed (this option overrides)
          allowed=[
              'SECRET_KEY',
              'SITE_ID',
          ],
          # optional
          # extra settings and their types (to be used with extra_allowed)
          extra_mapping={
              'DATABASE_PATH': ast.literal_eval,
          },
          # optional
          # extra settings that can be updated from env
          extra_allowed=[
              'DATABASE_PATH',
          ]
      )
      
      # nothing more required
      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.sqlite3',
              'NAME': DATABASE_PATH,
          }
      }
      

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

djangobuk_envsettings-0.4.1.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file djangobuk_envsettings-0.4.1.tar.gz.

File metadata

  • Download URL: djangobuk_envsettings-0.4.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for djangobuk_envsettings-0.4.1.tar.gz
Algorithm Hash digest
SHA256 807333471e2f31a713c775387bef05cde7205b8c8f6010bbdb39cf29c7078bd7
MD5 de30d47a749f077d63012504bfbe8e33
BLAKE2b-256 7a7526c69fba96c19ea65f66c9d104542559b622c12313095919f47aa32f7ee7

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