Le Framework Django¶
Historique¶
Développé à l’origine à partir de 2003 pour un journal local de la ville de Lawrence dans le Kansas par Adrian Holovaty et Simon Willison
But: Réaliser une sorte de CMS, simple à utiliser pour les non informaticiens
En Open Source sous Licence BSD depuis 2005
Beaucoup d’évolutions depuis
Nommé ainsi en souvenir de Django Reinhardt, musicien de Jazz

Caractéristiques¶
Framework Web de référence
ORM, Templates
Cache
Migrations (intégrées tardivement, l’un des meilleurs système de migrations existant)
Formulaires, Vues génériques
Authentification
Internationalisation, Unicode
Gestion complète des exceptions
Bonne documentation
En bref: Batteries included
Framework Web généraliste offrant¶
MVT = Modèle Vue Template
Système de templates
ORM = Object Relational Mapper (comme SQLAlchemy ou Doctrine)
Serveur Web intégré
Interface d’Admin complète, souple et extensible
Versions¶
OpenSource (BSD) en 2005
Version 1.0 en 2008
Version 1.4 LTS en 2012
Version 1.8 LTS en 2015
Actuelle (2020): 3.1
Version 1.11 est la dernière avec le support Python 2
La distribution django 2.2 en 2019 est LTS et la version actuelle est la 3.1.1
La prochaine release LTS de django sera la 3.2 qui sortira en 2021
Alternatives¶
En Python les alternatives sont notamment :
Flask (microframework avec Jinja2 pour les templates et SQLAlchemy pour ORM)
Pyramid
Tornado (orienté programmation asynchrone et Web Sockets)
FastAPI pour construire rapidement une API en Python