A great two years
It's our two-year anniversary!
Django was open-sourced exactly two years ago today, on July 15, 2005.
The past two years have been tremendous. If you're just starting to use Django, you're probably not aware of the huge improvements we've made since the framework was open-sourced:
Two years ago, we didn't have an internationalization framework.
Two years ago, models looked like this:
class Package(meta.Model):
db_table = 'packages'
fields = (
meta.CharField('label', 'label', maxlength=20, primary_key=True),
meta.CharField('name', 'name', maxlength=30, unique=True),
)
ordering = (('name', 'ASC'),)
def __repr__(self):
return self.name
Two years ago, we didn't have the render_to_response() shortcut. You had to load templates manually using get_template(), create a Context and call t.render(c).
Two years ago, we didn't have manage.py runserver. The only way to deploy, or even test, Django code was to set up mod_python! (We changed that pretty quickly.)
Two years ago, we didn't have a way to do sessions.
Two years ago, we didn't have support for database transactions.
But even more striking than these changes is the fact that the framework's general design has remained consistent. Despite loads of new shortcuts and functionality, it still boils down to URLconfs, models, views and templates. If you beamed in a Django developer from the year 2005 and showed her the July 2007 Django trunk, she would more-or-less understand how it worked.
Here's to the future. Thanks for using and improving Django!
Posted by Adrian Holovaty on July 15, 2007
Comments
Jeff Croft July 15, 2007 at 4:57 p.m.
Congrats to Adrian, Simon, Jacob, Wilson, and everyone else involved in the project. It's been wonderful watching it grow.
I have to say, I'm constantly amazed at how many blog posts and articles refer to Django as "new." Is a two-year old really the new kid on the block in web development these days? If so, our industry is moving slower than I thought!
Benjamin Schwarze July 15, 2007 at 5:12 p.m.
Thank you, guys, for this nearly perfect web framework.
Adrian, I'm curious about the third anniversary announcement, and its "One year ago, ..." list. I will track the upcoming development and may be some new amazing features.
Sebastjan Trepča July 15, 2007 at 5:53 p.m.
Congrats and much kudos to you for building this amazing web framework!
Bert Heymans July 15, 2007 at 6:08 p.m.
Congratulations! Keep it up guys, every day I find something new in Django, amazing framework, great documentation.
Paul Bx July 15, 2007 at 6:38 p.m.
I remember those early days. Django came along at just the right time for me. I agree with you that the stability of the design is something to be proud of. Many projects are well into their "ground-up rewrite" stage by this point (a stage from which they often never recover).
Ross Poulton July 15, 2007 at 6:56 p.m.
Congratulations to the entire time for creating this product then being a part of the fantastic community that surrounds it.
Django is the base for many of my personal & paid projects, and it's definitely made life easier.
If you're ever in Melbourne I think I owe a beer or three (plus, there are a few nice Jazz clubs around here)
Ross
guotie July 15, 2007 at 7:41 p.m.
when does 1.0 out?
Clint Ecker July 15, 2007 at 7:43 p.m.
I probably drunkenly blathered about this to you and Wilson enough last week, but Django was one of the best things that could've happened to my career! Thanks everyone!
Empty July 15, 2007 at 9:10 p.m.
Congrats. Everything you've done is quite impressive.
Jay States July 15, 2007 at 9:22 p.m.
Congrats.... Django made me learn Python which is a great language... and Django is the best framework on the Internet. Thanks
Mike Cantelon July 15, 2007 at 9:37 p.m.
Congrats and thanks for all the Django team's hard work!
Mike Kramlich July 15, 2007 at 11:24 p.m.
yeah thanks for making Django the way it is, and lettings others use it too. Great stuff. Very elegant, aggressively simple and sensible. DRY and KISS principles are obviously understood by the designers. Things "just work". And stellar documentation. Best webapp framework (and possibly the best rapid development system) I've ever used. Good job guys!
Paul Smith July 15, 2007 at 11:30 p.m.
Excellent work, congratulations.
Jogenchen July 16, 2007 at 12:02 a.m.
Congrats.... django is wonderful, but it's book is less than rails!
David, biologeek July 16, 2007 at 2:50 a.m.
Félicitations ! :-)
igwe July 16, 2007 at 3:55 a.m.
"I have to say, I'm constantly amazed at how many blog posts and articles refer to Django as "new." Is a two-year old really the new kid on the block in web development these days? If so, our industry is moving slower than I thought!"
That's because Django is a 2 year old but not yet a 1.0
Rob B July 16, 2007 at 4:57 a.m.
I'm new to the framework but have loved everything I have seen so far. Thanks so much for your hard work.
Congrats :) July 16, 2007 at 6:40 a.m.
Now I really can't wait to see 1.0 :)
mrben July 16, 2007 at 7:10 a.m.
Thanks for all your hard work - truly we are standing on the shoulders of giants.
Peter July 16, 2007 at 7:58 a.m.
And... if that was the two-year-old model, what does its equivalent today look like?
Adrian Holovaty July 16, 2007 at 10:34 a.m.
Jogenchen: You're correct -- our book costs less than the Rails book.
Kyle Robertson July 16, 2007 at 10:58 a.m.
Wee! Congratulations to all who have contributed to this grand project, and to the primary developers that initiated it. Your hard work is most appreciated =)
Adam Endicott July 16, 2007 at 1:16 p.m.
Congratulations! I've been using Django since soon after this, and it's been remarkable (and fun!) watching it change. It's a great testament to the team that it's been so easy to keep up with all the great stuff added over the last two years. Thank you to everyone involved for all your hard work.
Peter July 16, 2007 at 4:16 p.m.
OK I think I got the equivalent code for now:
from django.db import models
class Package(models.Model):
label = models.CharField('label', maxlength=20, primary_key=True)
name = models.CharField('name', maxlength=30, unique=True)
def __unicode__(self):
return self.name
class Meta:
db_table = 'packages'
ordering = ['name']
Jeff Croft July 16, 2007 at 6:09 p.m.
igwe: You're totally right. The lack of a 1.0 version number definitely gives people the perception that Django is new, unstable, and not yet ready for primetime. It's unfortunate, really -- but also totally understandable.
Bryan Veloso July 17, 2007 at 3:56 a.m.
Congratulations to everybody involved! Honestly, if it wasn't for this framework, I would have never associated programming with "fun". I could never express my thanks. :) Here's to another two years and 1.0! :)
Primski July 18, 2007 at 2:43 a.m.
Brilliant product.
Philip Lindborg July 18, 2007 at 11:49 a.m.
I've just started using Django and I must say I'm hooked. I learn new stuff every day and it still keeps amazing me. Thanks for your great framework, Django guys!
Rajesh Dhawan July 18, 2007 at 3:42 p.m.
Congratulations!
Here's to many more anniversaries....
Kele July 19, 2007 at 3:41 a.m.
I like django and reading django book ,it is funny and let me dip into it.thanks everyone contribute to it
Dipu July 25, 2007 at 12:33 p.m.
First off all congratulations to all who have contributed to the project!
Infrequently (and inactive) I've been following the development in the Django feel thought and philosophy since the beginning of the public release two years ago.
The most precious notable thing in what I saw in the development of Django is how the end-user was satisfied in it's ease of being able to develop what he wants.
Compliments for doing the excellent job on keeping the framework consistent whilst adding the appropriate features needed.
Douglas Jarquin July 29, 2007 at 5 p.m.
I knew that Django was a cancer; that's why we get along so well.
Here's to the next two years.
Comments are closed
To prevent spam, comments are no longer allowed after sixty days.


Sean Stoops July 15, 2007 at 4:07 p.m.
Congrats to everyone! I've only been using Django since last summer but have fell completely in love with it. I still discover new features every time I read through the docs. I can't wait to see what another two years brings.. hopefully into the post 1.0 world.