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.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2504ec494020e989fd6a7b02aca310a63baffd23e6f5151b6134c18ff29db8f7 |
|
MD5 | 24533ede562dcffdb89e312add903c03 |
|
BLAKE2b-256 | dc52ba866e75b28f67ec880145f447581a6f8507768e5d38bb3fc407660d7999 |
Hashes for django_database_url-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 735685dafba50f1b22ea95566d8ee26553b333afe161516202019b761443164d |
|
MD5 | 68d925685f73f57e78cf2ab6f56715ac |
|
BLAKE2b-256 | adccea64f890306026ec7a0aa4a111769af6da284a34d1b6d27be524caad9198 |