Tutos Django

Django 1.4

Django 1.4 est sorti le 23 mars 2012

Au programme énormément de nouveautés ! Les principales étant :

- Le support des time zones a été grandement amélioré :

  • Auparavant Django gérait les dates et temps de façon naïve, ce qui menait à une interprétation propre a chaque développeur de ce qu'un date/time signifie et menait a des incompréhensions entrainant des bugs concernant les time zones.
    A présent Django utilise le format UTC, ce qui permet d'utiliser des objets datetime dits time-zone-aware (conscients de leur timezone) et les traduit correctement selon la time zone de l'utilisateur dans les templates et les formulaires.

- Des évolutions sur les méthodes de l'ORM on également été apportées parmi lesquelles :

  1. Le support de SELECT FOR UPDATE
  2. bulk insert
  3. QuerySet.prefetch_related

- Ainsi que sur la sécurité :

  1. Amélioration de la création des mots de passes. L'algorithme PBKDF2 remplace le SHA1.
  2. Incorporation d'outils pour la signature cryptographique (fonctionnalité "récupérer mon compte", vérification de la valeur des champs hidden des formulaires, création d'url uniques)
  3. Évolutions sur la protection CSRF.
  4. Protection contre le clickjacking.

- On note également l'apparition d'un nouveau manage.py incluant un nouveau layout. Pour ceux n'étant pas à l'aise avec le nouveau layout, il est possible de définir un template par défaut à utiliser lors de la création d'un nouveau projet.

- Enfin on dénote le support des frameworks de tests dits in-browser comme selenium. Ce qui permet de mieux comprendre ce qu'il se passe lors des phases de tests avec un navigateur.

Amélioration mineure mais notable, le tag {% elif %} est disponible. Ce qui permettra d'organiser son code de manière plus concise sans avoir à utiliser un autre langage de template tel que Jinja2.
Le doctype HTML5 est désormais utilisé pour le plus grand bien de l'évolution du Web :)
La fonctionnalité Form Wizard a été réécrite en utilisant les class-based views.
Les tags de traduction {% trans %} et {% blocktrans %} supporte le contexte grâce au nouveau mot clef context.
L'apparition très commode du tag {% static %} vous permettant de charger facilement l'url de vos fichiers statiques ! Une de mes nouveautés préférées.

Cependant à toute nouvelle version, nouveaux supports.
A partir de la version 1.4, la version 2.5 de python est celle supportée par Django.
Une liste d'incompatibilités avec la version 1.3 apparait. Pour mettre a jour vos projets Django, lisez la liste de ces incompatibilités : Backwards incompatible changes in 1.4
De plus certaines pratiques deviennent déconseillées : Features deprecated in 1.4

Toute la liste des améliorations apportées a Django 1.4 est disponible ici : Django 1.4 release notes
N'hésitez pas à passer vos projets en version 1.4, car à partir de maintenant les tutoriels écrits sur ce blog utiliseront cette version afin d'être à jour le plus possible ;)

Article précédent

Articles similaires

Commentaires

Les commentaires sont fermés.

Pingbacks

Les pingbacks sont fermés.