AccueilActualités informatiqueFramework pour le web : Django 4 change de fuseau horaire

Framework pour le web : Django 4 change de fuseau horaire

La version 4.0 du framework web open source Django, développé en Python, vient de sortir. Cette version embarque un nouveau backend pour la mise en cache avec Redis. Il y a également des changements dans l’implémentation des fuseaux horaires et dans le rendu des formulaires et des ensembles de formulaires.

Avec la nouvelle version principale, deux mises à jour sont apparues pour la série 3 : 3.2.10 marque la fin du support mainstream pour la version 3.2. Comme il s’agit d’une version LTS (Long-term Support), il y aura des mises à jour de sécurité et des corrections de bugs pour éviter les pertes de données jusqu’en avril 2024. La version 3.1.14, également toute fraîche, est en revanche la dernière mise à jour de sécurité pour Django 3.1.

Sommaire

Alors que le framework avait initialement misé sur pytz pour le traitement des fuseaux horaires, la version 3.2 autorisait également les connexions avec d’autres implémentations. La version 4 utilise désormais par défaut la bibliothèque standard Python zoneinfo. Il est peu probable que des adaptations soient nécessaires pour le code existant.

Toutefois, les développeurs qui ont recours aux fonctions normalize() ou localize() en combinaison avec TIME_ZONE doivent vérifier leur code, car selon les notes de publication de Django 4.0, les librairies ne se comportent pas de manière totalement équivalente.

Pour la série 4 du framework web, pytz est certes considéré comme obsolète (deprecated) mais peut encore être utilisé. Pour l’activer, il faut utiliser le paramètre USE_DEPRECATED_PYTZ. Par défaut, il est réglé sur false est défini. Avec Django 5, la connexion à pytz n’est plus nécessaire.

Les classes Form, Formset et ErrorList utilisent depuis peu le moteur de gabarit pour le rendu, afin de permettre une représentation plus flexible. Les changements apportent quelques nouvelles fonctions comme render(), get_context() et template_name avec elle.

Django propose en outre depuis peu une intégration directe pour la base de données en mémoire Redis en tant que cache via le backend RedisCache. Les détails se trouvent dans la documentation du framework de cache.

Django est un projet open source qui existe depuis seize ans et qui est utilisé entre autres par Instagram, Mozilla, Bitbucket et le Washington Times. Le framework, géré depuis 2008 par la Django Software Foundation, a été créé à l’origine en 2003 par le site d’information du quotidien Lawrence Journal-World.

Le framework, qui doit son nom au guitariste de jazz Django Reinhardt, s’appuie sur le principe MVC (Model View Controller) pour diviser le logiciel en modèle de données, présentation et contrôle du programme. Dans la FAQ, les créateurs parlent d’une forme modifiée qui se compose du modèle, du gabarit et de la présentation et qui devrait donc en fait s’appeler MTV pour Model, Template View.

Vous trouverez plus de détails sur Django 4.0 dans le blog. Pour un aperçu complet, veuillez consulter les notes de publication.

Plus d'articles