2012-04-30 17:25:03 +00:00
|
|
|
DJ-Database-URL
|
2012-09-24 15:45:34 +00:00
|
|
|
~~~~~~~~~~~~~~~
|
2012-04-30 17:25:03 +00:00
|
|
|
|
2012-06-21 16:04:16 +00:00
|
|
|
.. image:: https://secure.travis-ci.org/kennethreitz/dj-database-url.png?branch=master
|
2012-09-24 15:44:31 +00:00
|
|
|
:target: http://travis-ci.org/kennethreitz/dj-database-url
|
2012-06-19 15:33:59 +00:00
|
|
|
|
2012-04-30 17:25:03 +00:00
|
|
|
This simple Django utility allows you to utilize the
|
|
|
|
|
`12factor <http://www.12factor.net/backing-services>`_ inspired
|
2012-04-30 17:37:58 +00:00
|
|
|
``DATABASE_URL`` environment variable to configure your Django application.
|
|
|
|
|
|
2014-04-18 06:35:07 +00:00
|
|
|
Supported databases
|
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
|
|
Support currently exists for PostgreSQL, PostGIS, MySQL, MySQL (GIS) and SQLite.
|
|
|
|
|
|
|
|
|
|
Installation
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
Installation is simple::
|
|
|
|
|
|
|
|
|
|
$ pip install dj-database-url
|
2012-04-30 17:25:03 +00:00
|
|
|
|
|
|
|
|
Usage
|
|
|
|
|
-----
|
|
|
|
|
|
2013-09-26 14:39:16 +00:00
|
|
|
Configure your database in ``settings.py`` from ``DATABASE_URL``
|
2012-09-13 10:33:03 +00:00
|
|
|
(``default`` is optional)::
|
2012-04-30 17:25:03 +00:00
|
|
|
|
2013-09-26 14:39:16 +00:00
|
|
|
DATABASES = {'default': dj_database_url.config(default='postgres://...')}
|
2012-04-30 17:25:03 +00:00
|
|
|
|
2012-04-30 19:08:20 +00:00
|
|
|
Parse an arbitrary Database URL::
|
|
|
|
|
|
2012-05-28 14:28:19 +00:00
|
|
|
DATABASES = {'default': dj_database_url.parse('postgres://...')}
|
2012-04-30 17:25:03 +00:00
|
|
|
|
2014-04-18 06:35:07 +00:00
|
|
|
URL schema
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
|
+-------------+--------------------------------------------+---------------------------------------------+
|
|
|
|
|
| Engine | Django Backend | URL |
|
|
|
|
|
+=============+============================================+=============================================+
|
|
|
|
|
| PostgreSQL | ``django.db.backends.postgresql_psycopg2`` | ``postgres://USER:PASSWORD@HOST:PORT/NAME`` |
|
|
|
|
|
+-------------+--------------------------------------------+---------------------------------------------+
|
|
|
|
|
| PostGIS | ``django.contrib.gis.db.backends.postgis`` | ``postgis://USER:PASSWORD@HOST:PORT/NAME`` |
|
|
|
|
|
+-------------+--------------------------------------------+---------------------------------------------+
|
|
|
|
|
| MySQL | ``django.db.backends.mysql`` | ``mysql://USER:PASSWORD@HOST:PORT/NAME`` |
|
|
|
|
|
+-------------+--------------------------------------------+---------------------------------------------+
|
|
|
|
|
| MySQL (GIS) | ``django.contrib.gis.db.backends.mysql`` | ``mysqlgis://USER:PASSWORD@HOST:PORT/NAME`` |
|
|
|
|
|
+-------------+--------------------------------------------+---------------------------------------------+
|
|
|
|
|
| SQLite | ``django.db.backends.sqlite3`` | ``sqlite:///PATH`` [1]_ |
|
|
|
|
|
+-------------+--------------------------------------------+---------------------------------------------+
|
|
|
|
|
|
|
|
|
|
.. [1] 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``.
|