A Brief History of Django

A Brief History of Django
 

In 2003, the Lawrence Journal-World, a local newspaper in Kansas, needed to build and maintain multiple news websites efficiently. The web at the time was very different: PHP and Perl dominated, frameworks were rare, and most web development involved writing large amounts of custom code for every project.

The people tasked with solving this problem were Adrian Holovaty, Simon Willison, and later Jacob Kaplan-Moss.
 

Adrian Holovaty, 2009
Simon Willison
Simon Willison, 2008
Jacob Kaplan-Moss, 2007


 

 


The Context
 

Adrian and Simon were experienced PHP developers, but as the newspaper’s websites grew in complexity, they began to feel the limits of the tools they were using. Code became harder to maintain, logic leaked into templates, and small changes carried a disproportionate risk.

At the same time, they were becoming increasingly interested in Python, influenced in large part by the clarity of the language and by Mark Pilgrim’s Dive Into Python. Python felt expressive, readable, and well-suited to building systems that needed to evolve over time.

Rather than rewriting everything at once, they simply began using Python where it made sense.

 

Kansas, USA
The former offices of the World Company, owner of the Lawrence Journal-World

 

 


A CMS Before a Framework
 

What they were building was not intended to be a framework. The original goal was a content management system (CMS) for local newspaper websites, tailored to real editorial workflows and tight deadlines.

They used mod_python, an Apache module that allowed Python code to run directly inside the web server. Out of caution, they introduced a thin abstraction layer between their CMS code and mod_python, so that the underlying technology could be replaced later if necessary.

That abstraction layer began to accumulate responsibilities:

  • request and response handling

  • URL routing

  • form processing

  • database access

  • separation between business logic and presentation

Without explicitly planning it, they had built the foundations of what we would now recognise as a modern web framework.

At the time, it was still “just the CMS”.

 

In the early 2000s Apache dominated the server-side landscape.

Part of the early Python influence: Mark Pilgrim’s Dive Into Python.

 

 


Open Source and the Name Django
 

In 2005, after Adrian had left the newspaper, the team received approval to open-source the code. The decision was influenced by the growing success of Ruby on Rails, but the underlying motivation was simpler: the newspaper relied heavily on open-source software, and releasing their own tools felt like the right thing to do.

The project needed a name. Adrian chose Django, inspired by the jazz guitarist Django Reinhardt.

Django was released to the public with little fanfare, but it immediately stood out for being:

  • practical

  • opinionated

  • and focused on solving common web problems out of the box

 

Django Reinhardt, a super talented musician born in 1910.

Django Web Framework Logo

 

The team’s background in journalism also influenced Django in an unusual way: documentation was treated as a first-class concern. Clear writing, structured tutorials, and consistent explanations were considered part of the product, not an afterthought.
 


 

Growth

 

As Django gained adoption, it quickly grew beyond its original authors. In 2008, its intellectual property was transferred to the Django Software Foundation (DSF), ensuring neutral governance, long-term stability, and trust from both the community and commercial users.

 

Over time, Django became known as reliable, predictable, and mature. In modern terms, it is often described as “boring technology” — not as a criticism, but as recognition that it solves well-understood problems consistently and without drama.

 

As Adrian Holovaty has noted, most of Django’s code today was written by contributors he has never met. That is not a weakness; it is the result of a framework designed to be maintained, extended, and trusted over decades.

 


 

Django focuses on providing a stable, well-documented, and pragmatic foundation for building web applications, exactly what it was created to do from the start.


Let's end this post with a bit of Django
 




16 Dec. 2025 | Last Updated: 18 Dec. 2025 | jaimedcsilva

Related
  • Using ngrok with Django
  • Opening a Django project through a .exe file
  • Creating an online store with Django
  • CRUD
  • Creating a Basic Django Project Automatically
  • Filter Horizontal in a custom template
  • GeoIP tracking with IpInfo and Django
  • GeoIP tracking with MaxMind and Django
  • Django User Agents
  • Generating Temporary Download Links
  • Cython - Hiding the Code of a Django Project
  • Quick & Easy Django Deployment on PythonAnywhere
  • A Brief History of Django
  • Django & Paypal Webhooks
  • Generating QR Codes with Django

  • Buy Me a Coffee