Introduction
- Rappel des principes de la POO.
- Le Design Pattern MVC.
- Présentation du framework Django.
- Origine et historique. Objectifs et avantages.
- Les composants de framework Django.
Exercice
Préparation de l'environnement. Installation de Python, de Django avec le serveur web, d'un SGBDR (PostgreSQL, MySQL, ou autre) et d'un IDE. Création d'un nouveau projet.
L'accès aux données avec Django
- Le modèle ORM Django.
- Les modèles Django : Model, Field, Table, Column, Primary Key...
- Mapping des associations : OneToMany, ManyToOne, ManyToMany, OneToOne.
- Stratégies de mapping de l'héritage : Meta Class, OneToOneField, ManyToManyField...
- Accès aux données avec les QuerySets.
Exercice
Développer une couche d'accès aux données. Interfacer Django avec le SGBDR.
Gestion des vues
- Vues simples ou fonctions vues.
- Les classes HttpResponse, HttpRequest et QueryDict.
- Configuration des URL : UrlConf.
- Vues génériques.
- Exemples de vues génériques : Redirects, Create, Update, Delete...
Exercice
Développer des vues dynamiques HTML avec Django.
Les templates
- Le rôle des templates.
- Création et chargement des templates.
- Gestion des contextes.
- Utilisation des tags et filtres personnalisés.
- Réutilisation des templates : héritage entre templates.
Exercice
Développer un template pour faciliter la génération de la présentation.
Gestion des formulaires
- Les avantages des formulaires Django.
- Création des formulaires.
- Les différents types de champs.
- Validation des données d'un formulaire.
- Gestion et personnalisation des messages d'erreurs.
- Génération des formulaires à partir des modèles.
Exercice
Développer les formulaires associés aux opérations CRUD de l'atelier précédent.
Fonctions avancées
- L'internationalisation.
- L'authentification et la gestion des sessions.
- Optimisation et caches.
- Intégration d'Ajax.
- L'interface d'administration.
- Les tests unitaires.
Exercice
Intégrer Ajax à travers un framework.