Project: django-heroku

This is a Django library for Heroku apps.

Project Details

Latest version
0.3.1
Home Page
https://github.com/heroku/django-heroku
PyPI Page
https://pypi.org/project/django-heroku/

Project Popularity

PageRank
0.00787898671155559
Number of downloads
71611

Django-Heroku (Python Library)

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

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 <https://www.heroku.com/continuous-integration>_).

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'

✨🍰✨