Skip to main content

Django application let you write your database password settings in an encrypted way.

Project description

django-safe-settings

Django application let you write your database password settings in an encrypted way.

Install

pip install django-safe-settings

Usage

pro/settings.py

INSTALLED_APPS = [
    ...
    'django_safe_settings',
    ...
]


DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "HOST": "127.0.0.1",
        "PORT": 3306,
        "NAME": "project_database_name",
        "USER": "project_database_username",
        "PASSWORD": "enc:e7293477f3fa2a72935913624eecdeb5",
        "OPTIONS": {
            "init_command": """SET sql_mode="STRICT_TRANS_TABLES" """,
        },
    },
}

...

## ##################################################################
## this must be at the bottom of settings.py
## ##################################################################
from django_safe_settings.patch import patch_all
patch_all()


  • Set sensitive configuration items to encrypted values, e.g. PASSWORD=enc:e7293477f3fa2a72935913624eecdeb5, the real plain value is passwordfortest.
  • Use python manage.py django_safe_settings_encrypt PLAIN_DATA to get the encrypted value, e.g.
    C:\git\django-safe-settings>python manage.py django_safe_settings_encrypt passwordfortest
        plain value = passwordfortest
    encrypted value = enc:e7293477f3fa2a72935913624eecdeb5
    
  • We use fastutils.cipherutils.AesCipher for encryption, and the password is related to Django's SECRET_KEY, so when the SECRET_KEY's value changes, the encrypted value must be regenerated.
  • You can use encrypt values anywhere in Django's settings.

Releases

v0.1.0

  • First release.

v0.1.1

  • Remove unused imports.

v0.1.2

  • Fix problems in django 3.2.x.

v0.1.3

  • Fix decrypt fail silent problem.

v0.1.4

  • Doc update.

v0.1.5

  • Doc update.

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_safe_settings-0.1.5.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

django_safe_settings-0.1.5-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file django_safe_settings-0.1.5.tar.gz.

File metadata

  • Download URL: django_safe_settings-0.1.5.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for django_safe_settings-0.1.5.tar.gz
Algorithm Hash digest
SHA256 4e8d18c70e2b8cbb81bfb4aa7c6bd9686e5bdc6626d32cb656924c6b656d31b2
MD5 43e4cbcb86185a26984bccc3c70daf2d
BLAKE2b-256 aef8685139733193f2cc7f15b5f1ffc7c515dc53ee2a38807fd317a6b9c1eefa

See more details on using hashes here.

File details

Details for the file django_safe_settings-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for django_safe_settings-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 34a01263087f29d508888c6e3e1628b8811c8637ba3097241d016b24c0fa4b7b
MD5 d1495c5fa6af2f28f7f1aea598440e11
BLAKE2b-256 3404201fcc9d5793b6129c7125c7d366151c90923dadd7ae33bccac03a7ad21f

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