Use Database URLs in your Django Application.
Find a file
Jeff Paine f07b16b35c Fix cleardb test
Although I find `assert url['PORT'] is None` more pythonic, PORT is set
in the main script via `'PORT': url.port or '',` so, we are obliged to
use checking for '' in our tests.
2014-03-03 02:07:39 -05:00
.travis.yml Replace Python 3.1 with Python 3.3 2014-01-08 15:18:46 -05:00
dj_database_url.py Add MySQL (GIS) support 2014-01-08 15:18:46 -05:00
dj_database_url.pyc Fix cleardb test 2014-03-03 02:07:39 -05:00
LICENSE lawyer up 2012-04-30 13:43:46 -04:00
Makefile tests 2012-06-19 11:03:52 -04:00
README.rst Add MySQL (GIS) support 2014-01-08 15:18:46 -05:00
setup.py v0.2.2 2013-07-17 16:39:48 -04:00
test_dj_database_url.py Fix cleardb test 2014-03-03 02:07:39 -05:00

DJ-Database-URL
~~~~~~~~~~~~~~~

.. image:: https://secure.travis-ci.org/kennethreitz/dj-database-url.png?branch=master
   :target: http://travis-ci.org/kennethreitz/dj-database-url

This simple Django utility allows you to utilize the
`12factor <http://www.12factor.net/backing-services>`_ inspired
``DATABASE_URL`` environment variable to configure your Django application.


Usage
-----

Configure your database in ``settings.py`` from ``DATABASE_URL``
(``default`` is optional)::

    DATABASES = {'default': dj_database_url.config(default='postgres://...')}

Parse an arbitrary Database URL::

    DATABASES = {'default': dj_database_url.parse('postgres://...')}

Supported databases
-------------------

Support currently exists for PostgreSQL, PostGIS, MySQL, MySQL (GIS) and SQLite.

SQLite connects to file based databases. The same URL format is used, omitting
the hostname, and using the "file" portion as the filename of the database.
This has the effect of four slashes being present for an absolute file path:
``sqlite:////full/path/to/your/database/file.sqlite``.

Installation
------------

Installation is simple too::

    $ pip install dj-database-url