Django Tutorial

Author

Jacob Kaplan-Moss

Summary

Django is a high-level web development framework designed for rapid development of database-backed web sites.

This tutorial is designed to introduce developers to Django. It will take attendees from a blank screen to a fully-functional web application. I'll cover:

  • The philosophies and culture behind Django.
  • Designing data models, and using the automatic admin interface.
  • Writing public-facing views.
  • Developing templates that designers can use to make sites pretty.
  • Using generic views to speed up many common development tasks.
  • Using Django with other tools from the Python ecosystem (such as external template engines, image/PDF generation, etc.).

Along the way, I'll discuss some of the best practices that Django developers should follow (and try to point out some pitfalls).

Intended audience

Since this is the Python Conference, I expect that attendees will have at least a passing familiarity with Python. Those without any Python experience should be able to follow along with much of the material, but not all.

In a similar vein, I expect that most attendees will have some experience doing web development (in Python or another language). I'll explain many of the common web development problems that Django is designed to solve, but I won't spend much time looking at alternatives or prior art.

I don't expect attendees to have any experience with Django, however; the tutorial will start from the very beginning.

Format

If people have their own laptops with Django installed, they should be able to follow along with the tutorial as it goes. I won't, however, be allowing time to write code, nor will I spend time helping attendees install Django. The complete code for the tutorial will be available so that attendees can hack and tweak as we go. In the past about half the audience has done so; the other half simply took notes or fooled around with their own projects.

Requirements

In the past those with access to a Django installation have gotten more out of the tutorial than those who simply watched. I'll be covering the latest version of Django from SVN. You can read a guide to installing the latest version of Django in the official docs.

Presenter bio

Jacob Kaplan-Moss is one of the lead developers of Django. At his day job, he's the lead developer for the Lawrence Journal-World, a locally-owned newspaper in Lawrence, KS where Django was developed. At the Journal-World, Jacob oversees development of Ellington, an online news publishing platforms for media companies.

Diamond

  • Google - Diamond
  • White Oak Technologies - Diamond

Platinum

  • Zenoss - Platinum
  • Enthought - Platinum
  • Microsoft Port 25 - Platinum
  • Sun Microsystems - Platinum

Gold

  • Wingware - Gold
  • Resolver Systems - Gold
  • ITA Software - Gold
  • Leapfrog Online - Gold
  • Predictix - Gold
  • Accense Technology, Inc. - Gold
  • IronPort - Gold

Silver

  • Imaginary Landscape - Silver
  • Tummy.com - Silver
  • Activestate - Silver
  • PSC Consulting - Silver
  • Canonical - Silver
  • ZeOmega - Silver
  • Symbian Press-Forum Nokia - Silver
  • Nuance Communications - Silver
  • CCP Games - Silver
  • Fivedash.com - Silver
  • Rackspace - Silver
  • Quality Vision International - Silver

Vendor II

  • O'Reilly - Vendor II
  • Pearson Publishing - Vendor II