Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

This package simplifies running a Django app on Heroku platform.

Project description

This has been forked from django-heroku because it was abandoned and then renamed to django-on-heroku because old project has been archived.

Current updates:

  • renamed package from django-heroku to django-on-heroku
  • changed psycopg2 to psycopg2-binary so it works and is installable
  • added installation instructions
  • fixed wipe’ing tables in Postgres
  • whitenoise.middleware.WhiteNoiseMiddleware is injected after django.middleware.security.SecurityMiddleware

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.

Installation

pip install django-on-heroku

Usage of Django-Heroku

In settings.py, at the very bottom:

# Configure Django App for Heroku.
import django_on_heroku
django_on_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!

If you set the CONN_MAX_AGE environment variable, it will automatically be used in your database settings, too!

Enabling Functionality

settings() accepts keyword arguments that are by default set to False

  • geodjango - set it to True if you want to use GeoDjango in our app

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
  • db_ssl_required

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

import django_on_heroku
TEST_RUNNER = 'django_on_heroku.HerokuDiscoverRunner'

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-on-heroku, version 1.1.2
Filename, size File type Python version Upload date Hashes
Filename, size django_on_heroku-1.1.2-py2.py3-none-any.whl (6.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size django-on-heroku-1.1.2.tar.gz (6.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page