Новый релиз фреймворка Django 1.4

2012-03-24

С опозданием на несколько недель вышел новый мажорный релиз фреймворка для разработки веб-приложений на языке Python − Django 1.4. Список изменений весьма обширен, наиболее интересные из них:

  • Продвинутая поддержка часовых поясов (timezone).
  • Поддержка браузерных фреймворков для тестирования (например, Selenium).
  • Шаблоны для создания новых проектов.
  • Улучшена поддержка WSGI.
  • Поддержка SELECT FOR UPDATE в ORM, которая позволяет заблокировать доступ на чтение и удаление к записям, соответствующим запросу.
  • Теперь можно хранить данные пользовательской сессии в cookie.
  • Добавлен метод Model.objects.bulk_create для эффективной вставки множества записей в БД.
  • Добавлен метод QuerySet.prefetch_related, схожий с известным методом select_related, но который более эффективно работает в некоторых сложных ситуациях (например, для отношений многое-ко-многим, или при использовании GenericForeignKey).
  • Улучшено хеширование паролей. Теперь используется алгоритм PBKDF2.
  • Страницы встроенной админки теперь имеют HTML5 Doctype.
  • Улучшения админки: улучшены фильтры, добавлена возможность множественной сортировки.
  • FormWizard переписан с использованием class-based views.
  • Добавлен метод reverse_lazy, позволяющий использовать обратный резолвинг URL (django.core.urlresolvers.reverse) до загрузки URLConf.
  • Улучшена поддержка интернационализации URL.
  • Улучшен вывод отладочной информации при ошибках в шаблонах.
  • Добавлена защита от Clickjacking (выключена по умолчанию для обратной совместимости).
  • Улучшена защита от CSRF.

Надо заметить, что в релизе 1.4 убрана поддержка Python 2.4, а в релизе 1.5 будет добавлена экспериментальная поддержка Python 3, о чем можно почитать здесь.

Список изменений, ломающих обратную совместимость

Список функций, не рекомендуемых для использования (deprecated)

Полный список нововведений