Deploy Django to Heroku

What is Heroku?

Heroku is a cloud platform that lets companies build, deliver, monitor and scale apps — we're the fastest way to go from idea to URL, bypassing all those infrastructure headaches.

The name "Heroku" is a portmanteau of "heroic" and "haiku"

Native Supported Languages

  • Started Ruby-only in 2007
  • Purchased by Salesforce in 2010
  • Also runs Docker containers (i.e. .NET Core)

Minimal Requirements

  • Source Code (Django Polls Project)
  • Pipfile (or requirements.txt)
  • runtime.txt 
  • Procfile - Describes Dynos

Dyno Got-chas

  • No Local Disk Storage
  • 512MB Slug Size for free tier
  • Dynos Rebooted once per day
  • 1500 lines log history
  • < 10,000 rows Postgres
  • Other Limits

Demo

Tips

#!/bin/bash
# /Users/jalexander/.local/bin/hp

heroku $@ -a prod-app-name

# Use "hp" as "alias" to heroku ... -a prod-app-name
# e.g. hp pg:info -a prod-app-name
  • Web and Worker apps can be run from single Dyno

Step by Step Reference

Deploy Django to Heroku

By James Alexander

Deploy Django to Heroku

  • 1,131