Finally Django 1.7 is out, and it is great. Even if it broke some of my oldest Django projects I love their philosophy, they just focus on doing things in the right way. It took me few minutes to get my oldest websites back to life but it helped me to get them updated. The first project I made was in Django 0.96 it has been the easiest to keep updated from all the projects I made from then. Here you have some quick details from it:

  1. Python version support is now from 2.7 till 3.4 (so no more support for Python 2.6 or earlier)
  2. South became part of the Django’s core (I believe they took too long to make this great decision), so Django 1.7 comes with easy migrations, just in case you change a model, it will be “easy” for you to keep your database updated.
  3. Startup has changed, this is one gave some some pain with the errors “ugettext_lazy gets translated too early” or “AppRegistryNotReady“, get ready because your scripts you execute from the shell will fail to.
  4. WSGI script no longer support “django.core.handlers.wsgi.WSGIHandler()” instead you have to use “get_wsgi_application()
  5. ALLOWED_HOSTS is not optional anymore.
  6. Django is timezone aware, so “today” and “now” are now operating in the current time zone
  7. I highly recommended to use TZ=True and install pytz support.
  8. Unittest module is deprecated, so “django.utils.unittest” is old and you should use “unittest” instead.
  9. Simplejson module is deprecated,  so “django.utils.simplejson” is old and you should use “json” instead.

We haven’t found so far any problem in this version that would prevent us from using it. If you are a Django developer be aware I wrote the most basic and common details we found during our websites migrations, but you should check the release notes just in case your project is doing some more weird things we do in ours. 🙂

My final summary is: what are you waiting for having it?

Comments are closed.