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

_images/django-reinhardt.jpg

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