For those who haven’t heard of Django
, it is a popular web framework written in Python. It allows one to create complex web applications with relatively small amounts of code. The web framework simplifies development by offering a powerful database ORM, an autogenerated administration interface, and a powerful template language.
The latest 1.4 release features a large number of changes, that affect most aspects of Django’s functionality. Some of the major new features in Django 1.4 include:
- A new improved way of handling date and time that respects timezones
- Big additions to the ORM
- SELECT_FOR_UPDATE support
- prefetching related objects
- bulk creation of objects
- A completely new form wizard that simplifies splitting forms in multiple pages.
- Translatable URL patterns for supporting multiple languages.
- Many new security improvements and features
- CSRF improvements
- Clickjacking protection
- New cookie-based session backend
- Tools for cryptographic signing
- Improved password hashing using the PBKDF2 algorithm instead of SHA1
- Improved WSGI support
- A new project layout and support for custom project and application templates
- Support for in-browser testing frameworks
Django 1.4 also makes a number of backwards-incompatible changes in order to improve the security and generally improve the codebase.
This version also drops support for Python 2.4, and supports only Python 2.5, 2.6 and 2.7. With Python 2.7 being the final major release in the Python 2.x, Django is also working toward Python 3 compatibility. Preliminary support for Python 3 is expected to come with the release of Django 1.5, which will drop support for Python 2.5 as well.