A set of Paster templates for Django projects, including a fabric deployment script
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 23 commits ahead of garethr:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



This project contains templates for creating a new Django project. It’s like running django-admin.py startproject but it creates a more complete application skeleton.

All you need to do is install the package from PyPi like so. Note that it will install PasteScript, Cheetah and Fabric. So you may want to create a new virtualenv.

python easy_install django-project-templates

Alternatively you can install it from a git clone with:

python setup.py install

And then creating a project skeleton is as simple as:

paster create --template=django_project example_project

Note that this project skeleton is still in flux. It definitely contains some things that are personal preference but it hopefully makes up for it with useful tools like a reasonably complete fabric based deployment setup and configs for CruiseControl. And yes, more documentation would be nice.

News apps template

The folks over at the Chicago Tribune have kindly contributed a template they use for their projects. You can find more about that on this blog post.

paster create --template=newsapps_project example_project

The newsapps_project template is very similar to django_project. Major differences include:

  • A much larger fabric deployment script with a bunch of goodies
  • Removed and refactored config directories. There are now dirs for production, staging and common.
  • Tightly integrated with Chicago Tribune’s News apps Amazon EC2 Image (ami-ff17fb96 on us-east)
  • Removed CruiseControl stuff.
  • Added a ‘manage’ script in the project root to make management commands accessible.

Update: New template!

I added a new template layout. It’s much simpler than the News Apps template; very similar to Django’s out-of-the-box project layout. It follows the default pattern, but includes all the fancy extra stuff you need to deploy your project as a wsgi application in separate staging and production environments.

To use the simple project template, follow the installation instructions below and then create a new project:

paster create --template=simple_project exampleproject

When you name your project, use alphanumeric characters only. The project name is used throughout the template for things such as database usernames and python packages, so it has to be über-compatible. If you have a special database name or something you have to use, don’t fret, you can customize all the settings. We just like opinionated software.