Django 1.4 is almost ready for showtime, but people are still asking, "When will we see support for Python 3?" Well, good news came out of PyCon this week, as experimental support for Python 3 is expected to come with the release of Django 1.5. But don't forget that this release of Django has some impressive features, which you can check out on the right.
Now, let me be clear. There is a HUGE process that needs to take place before switching over a community the size of Django to support Python 3. But there is a plan in place, and it involves some (somewhat) complicated steps, so let me try and break it down.
Step 1: Django 1.4 will no longer support Python 2.4, meaning Python 2.5 will now be the minimum requirement for Django 1.4.
Step 2: Django 1.5 will not support Python 2.5, making Python 2.6 the minimum requirement for Django 1.5
Step 3: Using the compatibility features that Python 2.6 and 2.7 have with Python 3, Django 1.5 will begin porting the codebase, offering EXPERIMENTAL support for Python 3, with the goal of targeting up to Python 3.3, which should be released around the same time as Django 1.5 (this fall).
The full details of that porting process and the level of support (i.e., whether Python 3 incompatibilities will become blocking bugs much as incompatibilities with alternate implementations like PyPy already are) are still being worked on, but Python 3 is the future of the Python language, and in support of that the Django project is and will remain committed to achieving Python 3 compatibility.
-- James Bennett
In case you missed the lighting talks at PyCon this week, James Bennet gave a "Steve Jobs-esque" presentation of the new features in Django 1.4, along with the announcement of experimental support for Python 3.3 with Django 1.5, "And the crowd goes wild!" Note: Skip to the 1:06:45 mark to see James' Presentation.
It looks like the Django project leaders are doing a great job setting up a plan of gradual migration to Python 3.