Use Database URLs in your Django Application.
Project description
This simple Django utility allows you to utilize the 12factor inspired DATABASE_URL environment variable to configure your Django application.
The dj_database_url.config method returns a Django database connection dictionary, populated with all the data specified in your URL. There is also a conn_max_age argument to easily enable Django’s connection pool.
If you’d rather not use an environment variable, you can pass a URL in directly instead to dj_database_url.parse.
Supported Databases
Support currently exists for PostgreSQL, PostGIS, MySQL, MySQL (GIS), Oracle, Oracle (GIS), Redshift, and SQLite.
Installation
Installation is simple:
$ pip install dj-database-url
Usage
Configure your database in settings.py from DATABASE_URL:
import dj_database_url DATABASES['default'] = dj_database_url.config(conn_max_age=600)
Provide a default:
DATABASES['default'] = dj_database_url.config(default='postgres://...')
Parse an arbitrary Database URL:
DATABASES['default'] = dj_database_url.parse('postgres://...', conn_max_age=600)
The conn_max_age attribute is the lifetime of a database connection in seconds and is available in Django 1.6+. If you do not set a value, it will default to 0 which is Django’s historical behavior of using a new database connection on each request. Use None for unlimited persistent connections.
URL schema
Engine |
Django Backend |
URL |
---|---|---|
PostgreSQL |
django.db.backends.postgresql [1] |
postgres://USER:PASSWORD@HOST:PORT/NAME [2] |
PostGIS |
django.contrib.gis.db.backends.postgis |
postgis://USER:PASSWORD@HOST:PORT/NAME |
MSSQL |
sql_server.pyodbc |
mssql://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 [3] |
SpatiaLite |
django.contrib.gis.db.backends.spatialite |
spatialite:///PATH [3] |
Oracle |
django.db.backends.oracle |
oracle://USER:PASSWORD@HOST:PORT/NAME [4] |
Oracle (GIS) |
django.contrib.gis.db.backends.oracle |
oraclegis://USER:PASSWORD@HOST:PORT/NAME |
Redshift |
django_redshift_backend |
redshift://USER:PASSWORD@HOST:PORT/NAME |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-database-url-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c3617de2e3dce85ab972e75c6a2eae6009c1377f27a95ba42e4307926cda5c7 |
|
MD5 | eb2ad346c7d15452408817fcf1c1a49b |
|
BLAKE2b-256 | a973af8fdc5195399b3683cbf690c877253bcfadf720c3f80519be91271edee1 |
Hashes for django_database_url-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87f38362f606b59e8f511a806f0f54791eb58971881491d215289f9c0eb96ded |
|
MD5 | 8b294d649fd24cead3d85c520b9c1a52 |
|
BLAKE2b-256 | 0aa30227167fe1eae28b7192b2ee3b88a4540caf00cadf3766996fb58a6d2f08 |