Django 0.91 released
We're pleased to announce Django 0.91, the result of a month and a half of feature additions, bug fixes and other improvements.
I know many of the Django faithful use the Django development version (SVN), which is updated almost every day (and recommended by the Django developers as the preferred flavor), but this release is for the folks who like definitive versions. This new release encompasses all of the new niceties development-version users have been enjoying for the past month and a half.
There are literally hundreds of improvements -- but some of the most notable are:
- Merged the "new-admin" branch, which heavily refactored the way the admin works, to make it more extensible.
- Changed passwords to be stored with a salt, and with a tighter (and swappable) encryption algorithm. (Read more.)
- URLconfs no longer require named groups; you can use simple parentheses. (Read more.)
- Changed the default project layout to add a manage.py utility, which avoids frustration with DJANGO_SETTINGS_MODULE.
- Added a gorgeous template-debugging error page in the case of template syntax errors. (Read more.)
- Added an {% include %} template tag. (Read more.)
- Added a framework for template context processors. (Read more.)
- Improved the e-mail library to prevent header injections. (Read more.)
- Added OR lookups to the database API. (Read more.)
- Made the template system scoped to the parser instead of the template module. Also changed the way tags/filters are registered and added support for multiple arguments to the {% load %} tag.
In addition to the many, many changes, we've reworked the tutorial to simplify things a bit -- namely using the new manage.py utility instead of futzing with paths to settings. Docs for version 0.90 have been frozen. They're available here, for eternity.
This release has five backwards incompatible changes, most of which are small. They are:
- Changed field name and length for auth.User password_md5 field
- Template system changes
- Added support for non-named groups in URLconf regular expressions
- Changed behavior of MultiValueDict.items()
- Removed undocumented '_or' database API parameter
This is the last Django release before the magic-removal branch is merged. The next release will be a big one.
Many thanks to all the great people who've contributed to this project. You can check them out in the AUTHORS file.
Posted by Adrian Holovaty on January 11, 2006
Comments
João Marcus January 11, 2006 at 7:53 p.m.
manage.py made things *really really* easier! Thanks a lot!
Daniel Lindsley January 11, 2006 at 9:46 p.m.
I eagerly anticipate the next release but I am definitely updating now! Thank you for your hardwork!
Ken Kennedy January 12, 2006 at 3:46 p.m.
Just a clarification...WRT the new startapp layout...do I need to/should I move my old apps out of the apps directory? If I don't, should I continue to create my new apps in that directory? I realize it was just a convention, but I want to "Do The Right Thing", without breakage...*grin*
Thanks again!
Adrian Holovaty January 12, 2006 at 4:12 p.m.
Hey Ken: No need to move your old apps out of an apps directory. They can live anywhere you want, as long as the INSTALLED_APPS setting knows how to find them. Viva loose coupling!
__SERF__ January 12, 2006 at 7:27 p.m.
I have to say, I was finally able to go through the tutorial 1 & 2, and I'm mighty impressed. Being an old Zope "victim". I hope the learning curve won't be like a steep wall that used to be Zope.
I found myself asking myself: Is this thing for real? because I hadn't written any frikkin code and I had a fully functional admin site for free!
But all that soon came to an end when tutorial 3 crapped all over itself. I haven't given up though, because I think most python people can go through it with some struggle. So I'll take a breather and try to finish 3 and 4.
From what I've seen, it is an extremely powerful system, and there is no reason (except slacking on the marketing part) why this shouldn't knock rail's socks off. Not that that is the "raison d'etre" of this project, but rails is the only nearest competitor.
Actually, I think when DHH said during Snakes & Rubies that Django was creating web "sites" and not "Apps". It was a bit dis-ingenuous (just My Opinion) Because if anything, Django seems more modular and also more powerful. If anything, Django seems to be coming to the table with a lot more builtin functionality OOTB.
Then again, there are extremely simple things which rails gets right, and the Django team overlooks (I'm sure due to extremely important matters). Things like getting the thing actually going, having a working tutorial. The install NOT crapping all over itself when the user tries to do something after installing it.
Think of PHP programmers, a bulk of the defectors from that group are going to rails, and you can't expect them to know the intricacies of Python. There is a time and place for everything, and a Tutorial is not the time to preach whatever "pythonic" thing that you want to teach them by dunking them in the ice-cold stack trace from hell.
Please think of these concerns from an outsider's point of view. They will make or break things (multiplied by concerns/opionions of thousands like me). I'm Just hoping that a fairly decent and powerful opensource framework gets its due share because of all the hard work you fine folk have put in it.
I must say that I'm extremely impressed with the power that I have noticed, and I must also share that that particular aspect gives me Zope flash-backs. I hope this time things won't go down that rabbit hole.
Well done!
Ken Kennedy January 13, 2006 at 9:08 a.m.
Viva, indeed! I actually figured it out myself shortly after dropping in the comment...and then promptly slapped myself for not thinking it through! You guys are doing great work...Django continually surprises me with it's cleverness. Simple, but clever. What I like. Thanks again! I've burned through a LOT of the python web frameworks, and have found my new home in Django.
Simon January 15, 2006 at 9:43 p.m.
I love django and the efforts that the django developers do to make their bests with every realease. But I have to say, I totally hate the new default way to store applications (outside the apps folder). Now django looks a lot more disorganized, with application folders all over the place, almost like ruby on rails (this is not a compliment!), which is really, REALLY bad.
I know this can be easily changed just moving the application folder to apps, but I just like this to be automated and see my applications on only one place, not in the main project folder. Please, don't start making django look disorganized. What I like more django is it organization. The next thing we are going to see is that django changes the name of view to controller and template to view...
I am sorry if I sound a litle harsh, is just what I think...
__SERF__ January 16, 2006 at 11:06 a.m.
I hope you guys are working on a more extensive tutorial (possibly a book) because this framework is quite extensive as I'm finding out. The tutorial is great, but it can still be improved further to make things easier to understand for the neophyte crowd.
Also, it would be nice to have some included apps. maybe LJWorld clone or CraigsList clone or something like that? It shouldn't be too hard to do something like that. And very instructive for new folks to get started with a barebones site and then learn as they go along.
Steven January 18, 2006 at 3:09 a.m.
Adrian, do you have a daily blog or site of stuff you currently building with Django?
Adrian Holovaty January 18, 2006 at 8:18 a.m.
Steven: A good way to keep up with various Django applications "in the wild" is to read this blog and see announcements on the django-users mailing list.
Steven January 18, 2006 at 9:37 p.m.
Sounds good. Basically I was looking for a place to view the newest projects from Django developers. I saw your video for Django and Rails and was wondering if you had a development company that could be hired for work. Or even a list of companies currently working with Django that have portfolio sites would be cool. Sorry to use this as a means of communication but I saw no other route. Great work your doing here!
Wilson January 18, 2006 at 10:57 p.m.
Steven: There's a list of example and live apps with source code available on the wiki page here: http://code.djangoproject.com/
And a (growing) list of Django-powered sites and projects here: http://code.djangoproject.com/wiki/Dj...
Steven January 18, 2006 at 11:46 p.m.
Thanks Wilson, but Im more interested in Chicago Developers using Django that have business sites to view. I'm looking for people to hire. I thought Adrian lived in Chicago and figured he had a site of his own. Sorry I am new to Django and didn't know where to go for development firms that are using it. Thanks for all the info so far.
Adrian Holovaty January 18, 2006 at 11:54 p.m.
Steven: My personal site is holovaty.com, and, yes, I do live in Chicago.
Steven January 19, 2006 at 10:53 p.m.
Thanks so much Adrian and Im sorry if I wasted anyones time. Great project you have here!
Tim Shaffer January 23, 2006 at 9:42 a.m.
Excellent work. Django is an awesome framework, even though I've just recently started using it.
I can't wait for the magic-removal release! Seems to fix all of the little gripes I have with Django.
cyang February 5, 2006 at 5:24 a.m.
It seems that my TIME_ZONE setting has no effect. Actually, the time zone is always GMT. Does anyone can help? Thanks in advance.
Comments are closed
To prevent spam, comments are no longer allowed after sixty days.


Armin Ronacher January 11, 2006 at 2:55 p.m.
Great work guys. But i will wait for the magic-removal branch. Then i will update :-)
Keep it up :-)