Django for Designers

Introduction
In this tutorial, we will explain topics and provide commands for you to run on your own computer. You will leave with a working social bookmarking web app!

This is a tutorial on web programming, so we will go beyond just Django and discuss third-party Django apps and other real-world web development tools. We'll also be emphasizing areas of Django that particularly affect designers, such as static files, template inheritance, and AJAX.

Things you should know already

 * HTML familiarity
 * Basic Python proficiency
 * Basic or better Javascript proficiency
 * Pre-requisites that we will help with

We expect you to have git, Python, and a few other elements ready on your laptop before the tutorial. We have published a laptop setup guide that steps you through:


 * Installing Python, git, pip, virtualenv, and a reasonable text editor
 * Setting up your env with Django, South, and django-debug-toolbar
 * Basic command line knowledge (cd, ls, etc)
 * Basic git knowledge
 * Setting up your git repo for the tutorial

Things you do not need to know already:

 * Django :)
 * What an ORM is
 * Anything database related

Curriculum

 * Part 0: Laptop setup (do this already!)
 * Part 1: Starting our project
 * Part 2: URLs, basic views, templates, static files
 * Part 3: Models, our database, and making it visible
 * Part 4: CRUD
 * Part 5: Style time
 * Part 6: Sharing with others
 * Part 7: Exercises for the reader

[[Media:cheatsheet.pdf|A possibly-helpful cheatsheet for common command line operations]]