la sortie du framework web , développé en Python et destiné à la création d'applications web. La branche Django 3.0 est classée comme ayant un support standard et sera mise à jour jusqu'en avril 2021. La branche LTS 2.22 sera maintenue jusqu'en avril 2022, tandis que la branche 1.11 le sera jusqu'en avril 2020. Le support de la branche 2.1 est terminé.
Améliorations clés :
- ajout de la prise en charge du fonctionnement en mode asynchrone sous la forme d'une application ASGI. L'interface (Asynchronous Server Gateway Interface) a été conçue comme un remplacement de WSGI, visant à assurer l'interaction entre les serveurs, les frameworks et les applications prenant en charge le mode asynchrone. La prise en charge du démarrage avec WSGI est maintenue, et le code lié au mode asynchrone est inclus uniquement lors du démarrage dans des environnements basés sur ASGI.
Pour le mode asynchrone, un événement distinct a été implémenté (event loop), où l'appel de code marqué comme « async unsafe » n'est pas autorisé. Ce type de code inclut, par exemple, les opérations avec les bases de données (ORM) qui ne peuvent pas être utilisées dans un contexte asynchrone (dans ce cas, une erreur SynchronousOnlyOperation sera affichée) et devraient être exécutées dans un thread synchrone séparé.
- Ajout de types énumérés spécialisés TextChoices, IntegerChoices et Choices, qui peuvent être utilisés pour définir des champs textuels et entiers dans le modèle, par exemple, lorsqu'il est nécessaire de stocker dans les champs des ensembles d'étiquettes lisibles, traduites en attributs spécifiques :
class YearInSchool(models.TextChoices):
FRESHMAN = 'FR', _ ('Freshman')
SOPHOMORE = 'SO', _ ('Sophomore')
JUNIOR = 'JR', _ ('Junior')
SENIOR = 'SR', _ ('Senior')
GRADUATE = 'GR', _ ('Graduate') - Ajout de la possibilité de spécifier des expressions qui sortent , directement dans les filtres QuerySet sans annotation préalable, avant d'appliquer pour le filtrage des annotations.
- Assurance du support officiel pour les bases de données MariaDB 10.1 et les versions plus récentes.
- Pour PostgreSQL, une classe a été réalisée pour l'utilisation de contraintes basées sur des expressions. ;
- Le support de Python 3.5 est terminé.
Source : opennet.ru
