Django-uberstarter is an automated project starter that makes life easier for front-end developers. It combines the following apps/best practices to give you the most up-to-date Django setup possible:
Back-end, environment stuff
- python 2.6 - Easily changeable to whatever version you want (just edit bin/uberstart.sh)
- virtualenv - Isolate projects into a dedicated python environment so you can install things without breaking other projects.
- pip - Our favorite package installer
- django - 1.2.5 as of this release
- django-debug-toolbar - Makes debugging django a less painful experience. Use it.
Front-end
- django-css - A wonderful compressor that bundles all your static js/css into one file in order to minimize HTTP requests.
- CleverCSS - The pythonic tribute to ruby's SASS, which lets you write indentation-based CSS in order to stay DRY. Needless to say, it rocks.
- shpaml - The pythonic tribute to ruby's HAML, which lets you write indentation-based HTML, so you can also stay DRY.
- HTML5boilerplate - By the wonderful wizards led by Paul Irish, it gets you an HTML5-ready markup with plenty of fallbacks for crappy/older browsers.
- 960.gs - Our favorite CSS framework. Period.
- jQuery - 1.5 as of this release
- Sample prototype page for quick iterations - Thanks to the wonderful work of Stephen Bau I use this extensively to get apps to "just work" at first, maybe you will like it too!
- cd ALL THE WAY into /path/to/django-uberstarter/bin
- Get all the goodies setup (source uberstart.sh and wait for packages to get downloaded/installed)
- Initiate your project's virtualenv (source /path/to/django-uberstarter/env/bin/activate)
- Start the django server (python /path/to/django-uberstarter/myproject/manage.py runserver)
- Check out the prototype page! (http://localhost:8000/)
- Superuser is username: admin, password: a (yes, just the letter a, so change it! http://localhost:8000/admin)
Naturally, calling your project "myproject" is a bit boring, so you will want to edit the following when you change its name to something else:
- Rename the folder inside django-uberstarter (ie. django-uberstarter/myproject/ to django-uberstarter/sweet-unicorns/)
- Change the ROOT_URLCONF variable in settings.py to reflect the new project's name (ie. ROOT_URLCONF = 'myproject.urls' to ROOT_URLCONF = 'sweet-unicorns.urls')