A Django library for Heroku apps.
Clone or download
Latest commit 8396b55 Oct 27, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
django_heroku Drop only the tables in the public schema Jul 6, 2018
test futher tests Dec 12, 2017
.gitignore enhancements Dec 11, 2017
.travis.yml travis attempt Dec 12, 2017
HISTORY.rst history Dec 12, 2017
LICENSE Initial commit Dec 11, 2017
Makefile test basics Dec 12, 2017
Pipfile pipfile Mar 1, 2018
Pipfile.lock pipfile Mar 1, 2018
README.rst Update README.rst Oct 27, 2018
setup.py serious requirements Mar 1, 2018

README.rst

Django-Heroku (Python Library)

https://travis-ci.org/heroku/django-heroku.svg?branch=master

This is a Django library for Heroku applications that ensures a seamless deployment and development experience.

This library provides:

  • Settings configuration (Static files / WhiteNoise).
  • Logging configuration.
  • Test runner (important for Heroku CI).

Django 2.0 is targeted, but older versions of Django should be compatible. Only Python 3 is supported.

Usage of Django-Heroku

In settings.py, at the very bottom:

…
# Configure Django App for Heroku.
import django_heroku
django_heroku.settings(locals())

This will automatically configure DATABASE_URL, ALLOWED_HOSTS, WhiteNoise (for static assets), Logging, and Heroku CI for your application.

Bonus points! If you set the SECRET_KEY environment variable, it will automatically be used in your Django settings, too!

Disabling Functionality

settings() also accepts keyword arguments that can be passed False as a value, which will disable automatic configuration for their specific areas of responsibility:

  • databases
  • test_runner
  • staticfiles
  • allowed_hosts
  • logging
  • secret_key

You can also just use this library to provide a test runner for your Django application, for use on Heroku CI:

import django_heroku
TEST_RUNNER = 'django_heroku.HerokuDiscoverRunner'