Skip to content

danidee10/django-heroku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django-Heroku (Python Library)

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.

Usage of Django-Heroku

In settings.py, at the very bottom:

…
# Configure Django App for Heroku.
import django_heroku
django_heroku.configure(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

configure() 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'

✨🍰✨