Présentation du framework Django
Contexte
Dans le cadre d'un cours sur les technologies Web, nous avons eu à expérimenter et présenter framework Django. Nous avons tenté une brève comparaison avec Ruby on Rails, car celui-ci nous avait déjà été présenté durant le cours.
Le framework
Django est un framework de développement Web en Python. Il a pour but de rendre le développement Web simple et rapide. Le projet a pour slogan « Le framework web pour les perfectionnistes avec des délais à tenir ».
Son code a été originellement développé pour un journal local de la ville de Lawrence, dans le Kansas. Il est publié selon les termes de la Licence BSD.
Django est un framework qui respecte le principe MVC. Le framework est donc composé de 3 parties distinctes :
- Un langage de template flexible qui permet de générer du HTML, XML ou tout autre format texte;
- Un contrôleur fourni sous la forme d'un "remapping" d'URL à base d'expressions rationnelles;
- Une API d'accès aux données qui est automatiquement générée par le framework en fonction d'un unique fichier de modèle de données. Inutile d'écrire une ligne de SQL, les requêtes CRUD étant automatiquement créées.
En plus de l'API d'accès aux données, une interface d'administration fonctionnelle est générée depuis le modèle de données. Un système de validation des données entrée par l'utilisateur est également disponible et permet d'afficher des message d'erreurs automatiques.
Le framework propose les plus suivants:
- Les vues génériques : Il s'agit de vue permettant de traiter les cas les plus courants du développement web de manière très simple. Elles permettent par exemple de lister des objets avec une gestion de la pagination, des lister des objets organisés par date avec des urls du type (année)/(mois)/(jour)/élément à afficher. Plus d'informations sont disponible dans la documentation sur les vues génériques.
- Le système d'authentification, fourni de base avec le framework
- La création facilitée de pages statiques
- La gestion des formulaires (création, affichage et validation) de manière très simple.