

Django 1.3 released - rodion_89
http://www.djangoproject.com/weblog/2011/mar/23/13/

======
jbox
It's been fun watching these features play out in libraries over the last
year.

I particularly like the idea of TemplateResponse - the earliest implementation
I saw was in simonw's:

[https://github.com/simonw/django-
openid/blob/master/django_o...](https://github.com/simonw/django-
openid/blob/master/django_openid/response.py#L4)

This approach makes template rendering much more flexible!

For example, it would be easy to swap out a template for a mobile one ... or
to A/B test a template. Or choose the content type of the output (HTML, JSON
etc.)

~~~
simonw
Yeah, I was really pleased to see that they've taken that concept and turned
it in to a real, tested, documented feature.

------
sambeau
I wonder if they were tempted to give it the codename "WordPress"

~~~
astrofinch
hm?

~~~
tvon
Wordpress initially gave their latest release the code name Django (they
always use jazz musicians as a theme), but quickly changed it to Reinhardt
after a few polite complaints.

------
eli
So as someone who has just started my first Django project, is there any
reason not to immediately switch to 1.3?

~~~
Refringe
Read the release notes:

<http://docs.djangoproject.com/en/dev/releases/1.3/>

If there's no conflicting code changes compared to what you've already
written, upgrade away!

If there are changes needed to support the new version you'll have to weigh
the time needed to implement the changes to the new features/improvements in
the new version; is it worth it? Only you can make that decision.

~~~
jonknee
Considering it's his first project and he just started, there's no reason to
not be using the latest.

------
mattdeboard
So, where's the "Congrats on Shipping" cake from the Ruby on Rails devs?

edit: Or maybe one from CakePHP would be more appropriate.

------
matclayton
Congratulations to all the team,

------
BobKabob
I can't believe it... not one comment telling the django guys to quit
celebrating and get back to work on a version that supports Python 3? :-)

Seriously, Adrian, Jacob, and the django team, I love your product. I actually
just bought a SECOND copy of your book (available free on the web). What's
wrong with this picture?

~~~
Ingaz
I really want downvote you.

Excuse me for arrogance, but it's not their fault that Django (or Pylons or
Flask) can't work on Python 3.

Look at <http://flask.pocoo.org/docs/foreword/>

"Because of that we strongly recommend against using Python 3 for web
development of any kind and wait until the WSGI situation is resolved. You
will find a couple of frameworks and web libraries on PyPI that claim Python 3
support, but this support is based on the broken WSGI implementation provided
by Python 3.0 and 3.1 which will most likely change in the near future.

Werkzeug and Flask will be ported to Python 3 as soon as a solution for WSGI
is found, and we will provide helpful tips how to upgrade existing
applications to Python 3. Until then, we strongly recommend using Python 2.6
and 2.7 with activated Python 3 warnings during development, as well as the
Unicode literals __future__ feature."

~~~
BobKabob
I agree (except for the part where you wanted to down-vote me). I wasn't
trying to say it was their fault. It was more a comment about other comments,
not about the django guys.

I love django. But I also I can't wait for the day when we can quit talking
about Python 2, and that Python 3 will be the obvious choice for ALL
environments.

Considering Python 3K discussions go back to 2006 (PEP 3000) or earlier, and
Python 3 was released in 2008, and we're still probably years away from
closing the book on Python 2, it's just amazing how long it takes to "turn a
battleship". This transition to Python 3 might be a decade or more, from start
to finish! amazing!

------
philipkimmey
Glad to see it!

Some of the new stuff is really cool, and means I won't have to rely on
external libraries anymore (like passing context variables in template
includes).

Also, the new logging functionality is really great!

Keep up the good work!

------
ejaury
Congrats to the Django team! I know you guys have worked very hard to put this
together. I've been waiting for this final release for quite some time, having
tried the beta release since launched.

------
ireadzalot
Class-based generic view is a nice addition. I remember when I was learning
Django and going through the official tutorial, that was one part that took me
a while to understand. Kudos guys!

~~~
andybak
People have been using the term 'class-based views' to describe the new
feature but am I right in thinking this only affects generic views?

~~~
streeter
No, you can make your own class based views with the 1.3 codebase. The docs
describe them as replacing Generic Views, but nothing stops you from creating
your own class hierarchy that inherits from the base TemplateView
([http://docs.djangoproject.com/en/1.3/ref/class-based-
views/#...](http://docs.djangoproject.com/en/1.3/ref/class-based-
views/#simple-generic-views))

------
beza1e1
They backported the Python 2.7 unittest module to Python 2.4 and included it
in Django? It is getting enterprisey. Maybe with Django 2.0 they will ship
their own Python version?

~~~
ubernostrum
Mostly when we do this, it's because there's a really useful/helpful stdlib
module that wasn't standard for one of the older Python versions we support.
We check first to see if you have the stdlib version (or in some cases a
third-party distribution of it), then fall back to our bundled copy.

In many cases we've had direct help from the maintainers of the stdlib modules
in doing this, so saying that "we" backported it isn't particularly accurate.

(the big exception to all this was PyDispatcher, which we originally included
verbatim, then essentially ended up forking to suit our needs, to the point
where I don't think it's really the same library anymore)

We also do some similar but smaller-scale things to smooth issues in older
Pythons or to enhance standard language features (for example, we monkeypatch
Python 2.4's copy module, and ship our own implementation of parts of os.path
to handle Unicode properly). Poke around in django/utils for the sordid
history of all the stuff we've worked around in this manner.

------
dgallagher
Congrats to the Django team! :) I'm in love with your API.

------
Pewpewarrows
Huge congrats to the Django Core team, and anyone who helped contribute to the
project. It just gets more fun to use each year that passes!

------
purephase
Congrats. Excellent work all around. Very interested in checking it out.

------
vonkow
Just in time for my next project, thanks!!!

