Skip to main content

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'

Project details


Download files

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

Source Distribution

django-on-heroku-1.1.2.tar.gz (6.3 kB view hashes)

Uploaded Source

Built Distribution

django_on_heroku-1.1.2-py2.py3-none-any.whl (6.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page