Getting Started with Pinax Starter Projects

When I first started contributing to Pinax, one of the most exciting things to me was this idea of starter projects where you could be up and running with a certain type of a site literally within minutes. It was even more exciting to be able to shed having to build and maintain a lot of the infrastructure code around supporting project templates when Django started supporting the \--template flag on django-admin.py startproject.

We moved to having separate repositories for each of our starter projects and even these have the templates shipped separately with the notion of pluggable themes that are simply an app that you add to your requirements and INSTALLED_APPS. This is something James Tauber and I worked out rough versions of way back when we started KodeNode but with the breaking apart of Pinax this concept has really proven itself. Luke Hatcher has taken this idea to entirely new heights in building and maintaining an awesome theme, called pinax-theme-bootstrap based on Twitter Bootstrap. The old pinax.apps.account app has been completely rewritten by Brian Rosner and is more extensible than ever with some really incredible features as a stand alone Django reusable app called django-user-accounts.

The starter project that I use for just about everything, combines django- user-accounts and pinax-theme-bootstrap to yield the pinax-project- account starter project.

These days when it's time to start a new website (which tends to be quite often) I do the following:

$ mkvirtualenv mysite
$ pip install Django==1.4.1
$ django-admin.py startproject --template=https://github.com/pinax/pinax-project-account/zipball/master mysite
$ cd mysite
$ pip install -r requirements.txt
$ python manage.py syncdb && python manage.py runserver

That's it! I'd love to hear what sites you are building with this. If you are building something that'd you'd like to share please post a comment.