Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Django flexible settings with running environment support, separate security files and project layout detection.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 docs
Octocat-spinner-32 flexisettings
Octocat-spinner-32 tests
Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGELOG
Octocat-spinner-32 CONTRIBUTORS
Octocat-spinner-32 LICENSE
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 TODO
Octocat-spinner-32 requirements.txt
Octocat-spinner-32 setup.py
README.rst

Django-flexisettings

Django flexible settings with running environment support, separate security files and project layout detection.

Features:
  • get security configuration (passwords, secret key, API keys, etc) out of the main settings file
  • support multiple environments in a flexible way
  • automatic discovery and configuration of common project layouts

Installation

$ pip install django-flexisettings

No need to declare flexisettings in INSTALLED_APPS.

Quickstart

Development

Edit manage.py, modify the value of DJANGO_SETTINGS_MODULE to point at flexisettings.settings and add FLEXI_WRAPPED_MODULE to point at your project's settings:

[...]
if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "flexisettings.settings")
    os.environ.setdefault("FLEXI_WRAPPED_MODULE", "myproject.settings")
[...]

WSGI application

Edit myproject/wsgi.py, modify the value of DJANGO_SETTINGS_MODULE to point at flexisettings.settings and add FLEXI_WRAPPED_MODULE to point at your project's settings:

[...]
import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "flexisettings.settings")
os.environ.setdefault("FLEXI_WRAPPED_MODULE", "myproject.settings")
[...]

What now?

This is all you need to get flexisettings to run your settings. At this stage, nothing in the configuration object is changed, it is simply wrapped in flexisettings proxy object.

Read the docs for more powerful features of flexisettings.

License

django-flexisettings is published under a 3-clause BSD license, see the LICENSE file included in the project.

Something went wrong with that request. Please try again.