blue bar background yellow bar background
Colorado Software Summit 2008 banner
Colorado Software Summit logo

The Best Way to Master a Technology Is to Teach It to Others

Jacob Kaplan-Moss

Whiskey Media

Build Better, Faster: An Introduction to Django

Presentation Notes

Django is a high-level web development framework designed for rapid development of database-backed web sites. Because Django was developed in a fast-paced newsroom environment, it was designed to make common Web-development tasks fast and easy.

This session is designed to introduce developers to Django. I'll cover:

  • A few basic workflows for developing Django applications.
  • 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.
  • Some of the ways Django applications are deployed in production.

This presentation assumes at least a passing familiarity with Python. Those without any Python experience should be able to follow along with the great majority of the material, however.

Similarly, some experience with web development (in any language) is assumed. I'll explain many of the common web development problems that Django is designed to solve, but I won't spend much time talking about alternatives or prior art.

Building a Web Framework: Django's Design Decisions

Presentation Notes

Django is a high-level web development framework designed for rapid development of database-backed web sites. Because Django was developed in a fast-paced newsroom environment, it was designed to make common Web-development tasks fast and easy.

This session is a high-level overview not of how Django works, but of why it's built the way it is. I'll look at the history of Django, the philosophies guiding its development, and dissect the choices we made as we developed Django.

Along the way, I'll try to answer some big questions about Django, including:

  • What's a 19,000 circulation newspaper in Kansas doing developing a web framework, anyway?
  • Why is Django written in Python? What does Python offer that other languages don't? Could Django have been written in another language?
  • Given that Ruby on Rails gets all the buzz, why should anyone use Django?
  • Why doesn't Django follow commonly accepted software design patterns (MVC, GoF patterns, etc.)?
Photo of Jacob Kaplan-Moss

Jacob Kaplan-Moss is one of the lead developers of Django. At his day job, he's a software architect for Whiskey Media, one of those newfangled Web One-Point-Oh companies you've read so much about. A good deal of Jacob's work time is devoted to working on Django.

Jacob previously worked for the Lawrence Journal-World, a locally-owned newspaper in Lawrence, KS where Django was developed. At the Journal-World Jacob was the lead developer of Ellington, a commercial web publishing platform for media companies.