The Python-based web framework Django 1.3 has been released with a list of small-scale improvements in response to popular requests alongside some nice additions.
This version has been under development for almost a year, and is the last release that will support versions of Python from 2.4 onwards; when version 1.4 of Django is released you’ll need to upgrade to Python 2.5. Highlights among the new features include a framework for writing class-based views and built-in support for using Python’s logging module. The class-based views mean you can compose a view out of a collection of methods, and use that to provide common views of data by subclassing and overriding.
The support for Python’s logging module means you can both configure and control logging in your Django projects, and logging handlers and logging calls have been added to Django’s own code.
Static files handling is now supported via a new contrib app, meaning that you can handle static media files such as images and CSS that are required for rendering web pages. Another improvement is support for the changes to unittest that were introduced in Python 2.7. Django now ships with a copy of the library that has been back ported to be compatible with Python 2.4.
Among the smaller feature requests that have finally made it into the new version are improved tools for accessing and manipulating the current Site object in the sites framework; a requestfactory that can be used to create mock requests in tests; support for HTTPOnly cookies; and support for CCs in EmailMessage. The full list of improvements can be found on the Django project website.