Skeleton project for a Django app running under Vagrant
Python Shell HTML
Switch branches/tags
Nothing to show
Clone or download


A template for new Django 1.9 projects developed under Vagrant. Features offered include:

  • A Vagrantfile for building an Ubuntu Trusty based VM
  • A virtualenv (configured to be active on login), with project dependencies managed through a requirements.txt file
  • A PostgreSQL database (with the same name as the project, pre-configured in the project settings file)
  • Separation of configuration settings into, and (and optionally, kept outside of version control) as per
  • django-compressor and django-debug-toolbar out of the box
  • A boilerplate base template with jquery included, and various other ideas and best practices borrowed from


Install Django 1.9 on your host machine. (Be sure to explicitly uninstall earlier versions first, or use a virtualenv - having earlier versions around seems to cause pre-1.4-style and files to be generated alongside the new ones.)

To start a new project, run the following commands: startproject --template --name=Vagrantfile myproject
cd myproject
rm LICENSE  # or amend for your own purposes
vagrant up
vagrant ssh
  (then, within the SSH session:)
./ runserver

This will make the app accessible on the host machine as http://localhost:8000/ . The codebase is located on the host machine, exported to the VM as a shared folder; code editing and Git operations will generally be done on the host.

See also - a recipe for a Vagrant base box that can be used in place of precise32 in the Vagrantfile - this has more of the server setup baked in, so that we can save time by not having to re-run those steps every time we create a new VM instance.