Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install django-configurations

How to install django-configurations

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install django-configurations
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.1
0.6Never BuiltWhy not?
0.1 Available View build log
Windows (64-bit)
Mac OS X (10.5+)
0.1
0.6Never BuiltWhy not?
0.1 Available View build log
Linux (32-bit)
0.1
0.6Never BuiltWhy not?
0.1 Available View build log
Linux (64-bit)
0.6 Available View build log
0.1 Available View build log
0.6 Available View build log
0.3 Available View build log
 
Author
License
BSD
Depended by
Lastest release
version 0.6 on Sep 20th, 2013
Build Status

django-configurations eases Django project configuration by relying on the composability of Python classes. It extends the notion of Django's module based settings loading with well established object oriented programming patterns.

Quickstart

Install django-configurations:

System Message: ERROR/3 (<string>, line 18)

Unknown directive type "code-block".

.. code-block:: console

    pip install django-configurations

Then subclass the included configurations.Configuration class in your project's settings.py or any other module you're using to store the settings constants, e.g.:

System Message: ERROR/3 (<string>, line 26)

Unknown directive type "code-block".

.. code-block:: python

    # mysite/settings.py

    from configurations import Configuration

    class Dev(Configuration):
        DEBUG = True

Set the DJANGO_CONFIGURATION environment variable to the name of the class you just created, e.g. in bash:

System Message: ERROR/3 (<string>, line 38)

Unknown directive type "code-block".

.. code-block:: console

    export DJANGO_CONFIGURATION=Dev

and the DJANGO_SETTINGS_MODULE environment variable to the module import path as usual, e.g. in bash:

System Message: ERROR/3 (<string>, line 45)

Unknown directive type "code-block".

.. code-block:: console

    export DJANGO_SETTINGS_MODULE=mysite.settings

Alternatively supply the --configuration option when using Django management commands along the lines of Django's default --settings command line option, e.g.:

python manage.py runserver --settings=mysite.settings --configuration=Dev

To enable Django to use your configuration you now have to modify your manage.py or wsgi.py script to use django-configurations's versions of the appropriate starter functions, e.g. a typical manage.py using django-configurations would look like this:

System Message: ERROR/3 (<string>, line 60)

Unknown directive type "code-block".

.. code-block:: python
   :emphasize-lines: 10

    #!/usr/bin/env python

    import os
    import sys

    if __name__ == "__main__":
        os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
        os.environ.setdefault('DJANGO_CONFIGURATION', 'Dev')

        from configurations.management import execute_from_command_line

        execute_from_command_line(sys.argv)

Notice in line 10 we don't use the common tool django.core.management.execute_from_command_line but instead configurations.management.execute_from_command_line.

The same applies to your wsgi.py file, e.g.:

System Message: ERROR/3 (<string>, line 82)

Unknown directive type "code-block".

.. code-block:: python
   :emphasize-lines: 6

    import os

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
    os.environ.setdefault('DJANGO_CONFIGURATION', 'Dev')

    from configurations.wsgi import get_wsgi_application

    application = get_wsgi_application()

Here we don't use the default django.core.wsgi.get_wsgi_application function but instead configurations.wsgi.get_wsgi_application.

That's it! You can now use your project with manage.py and your favorite WSGI enabled server.

Subscribe to package updates

Last updated Sep 20th, 2013

Download Stats

Last month:3

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.