Ce support sur Django s'adresse aux développeurs qui souhaitent découvrir ce framework Python sous un angle résolument pratique avec la mise en place complète et effective d'un environnement de développement et la conception d'une application web.
Tout au long du support, l'auteur utilise comme fil rouge l'exemple du développement d'une application de messagerie interne pour les utilisateurs d'un site, suffisamment représentatif pour que le...
Ce support sur Django s'adresse aux développeurs qui souhaitent découvrir ce framework Python sous un angle résolument pratique avec la mise en place complète et effective d'un environnement de développement et la conception d'une application web.
Tout au long du support, l'auteur utilise comme fil rouge l'exemple du développement d'une application de messagerie interne pour les utilisateurs d'un site, suffisamment représentatif pour que le lecteur étudie les fonctionnalités incontournables de Django et les bonnes pratiques à mettre en oeuvre.
Le lecteur est d'abord accompagné pour l'installation et la configuration des outils nécessaires permettant de disposer d'un environnement de développement sur son poste avant de découvrir la structure attendue de l'application. Il explore ensuite en détail les notions de routage et de modèles d'objets. Des chapitres relatifs à la pose de traces ou aux intergiciels donnent la possibilité de diagnostiquer et de comprendre des traitements internes, en particulier les échanges avec la base de données. Le vaste sujet des vues, pages et gabarits permettant de rendre l'application dynamique est également détaillé dans des chapitres dédiés.
Pour finir, l'auteur présente des alternatives à certaines techniques présentées ainsi que la mise en oeuvre de l'internationalisation d'une application.
Bien qu'invité à écrire progressivement les contenus successifs des fichiers du projet développé en exemple, le lecteur pourra en télécharger une copie finale sur le site www.editions-eni.fr.
5. Installation d'un gestionnaire de fuseaux horaires
6. Installation de Django
Création de site
1. Objectifs
2. Création d'un projet
3. Premier lancement du site
4. Création d'une première application
4.1 Emplacement d'une application
4.2 Création
5. Paramètres de configuration
5.1 Configuration minimale
5.2 Configuration par défaut affinée
6. Variations de configuration
7. Création de l'application
8. Outillage de mise au point
Routage
1. Présentation
2. Configuration des adresses
3. Espace de noms
4. Instances multiples d'une même application
Modèles
1. Introduction
2. Instanciation de la base de données
2.1 Création de la base de données
2.2 Référencement de la base de données
2.3 Première alimentation de la base de données
2.4 Création d'un super-utilisateur
3. Champs
4. Métadonnées
5. ORM (Object Relation Mapping) et migrations
5.1 Création d'une migration initiale
5.2 Exécution d'une migration initiale
6. Exploration des métadonnées
7. Gestionnaires
8. Opérations sur objets
8.1 Création
8.2 Mise à jour
8.3 Lecture
8.4 Suppression
8.5 Optimisations
8.6 Opérations de masse
8.6.1 Création
8.6.2 Lecture
8.6.3 Chargement d'instantané
8.6.4 Quelques usages des instantanés
9. Migration de structures et données
Traces et journalisation
1. Requêtes à la base de données
1.1 Plan d'exécution
1.2 Constitution du code SQL
1.3 Journalisation des requêtes SQL
1.3.1 Observations manuelles
1.3.2 Observations automatiques
2. Pose de traces personnalisées
2.1 Noms des enregistreurs
2.2 Exemple d'enregistreur
2.3 Autres exemples de gestionnaires
2.3.1 Rotation de journaux
2.3.2 Transmission vers une machine distante
Intergiciels
1. Introduction
2. Création d’une application dédiée à l’outillage
3. Implémentation d’un intergiciel
3.1 Mise en place du cadre
3.2 Écriture d’un traitement
3.3 Alternance de mise en/hors service
Vues
1. Fonctions ou classes
2. Vues intégrées
2.1 Vues de base
2.2 Vues génériques
3. Greffons
4. Données de contexte
5. Processeurs de contexte
6. Requêtes AJAX
6.1 Restriction stricte au mode AJAX
6.1.1 Par greffon seul
6.1.2 Par greffon et décorateur
7. Intégrations en modèles
8. Simulation d'authentification
9. Écritures des vues
9.1 Dossier d'arrivée
9.2 Dossier d'envoi
9.3 Factorisation des vues de dossier
9.4 Encore plus d'optimisation et d'intégration
9.5 Contrôle du cache
9.6 Lecture de message
9.7 Composition de message
9.8 Effacement de message
Pages et gabarits
1. Introduction
2. Moteurs
2.1 Moteurs intégrés
2.2 Moteurs personnalisés
2.3 Sélection du moteur
3. Principes de fonctionnement
4. Pages non dynamiques
4.1 Application flatpages
4.1.1 Exemple d'usage
4.2 Fichiers statiques
4.2.1 Déploiement en production
4.2.2 Simulations en développement
5. Structuration des pages
6. Expérimentation rapide et manuelle
7. Écritures des gabarits
7.1 Base du site
7.2 Bases de l'application
7.3 Dossier d'arrivée
7.4 Dossier d'envoi
7.5 Lecture de message
7.6 Composition de message
7.7 Effacement de message
8. Composants de gabarit personnalisés
8.1 Balise de gabarit
8.2 Filtre
Alternatives
1. Propos
2. Alternance entre plusieurs versions de Django
2.1 Par configuration propre au site
2.1.1 Apport d'une ancienne version
2.1.2 Apport d'une nouvelle version
2.1.3 Emploi d'une instance déjà présente
2.2 Par environnement virtuel
3. Variations de configurations
3.1 Superposition en profondeur
3.2 Exécution de code
Internationalisation
1. Propos
2. Configuration
3. Détermination de la langue de l'utilisateur
4. Limitation de la quantité de langues supportées
Index
Patrick SAMSON
Enthousiasmé depuis toujours par l'informatique et la puissance du numérique, Patrick SAMSON mène une carrière de développeur indépendant depuis plus de 25 ans. Tout au long de son parcours, il a eu l'occasion de pratiquer plusieurs dizaines de langages de programmation et d'outils. La découverte des qualités du langage Python et du framework Django a été une telle révélation dans son métier qu'il a souhaité partager à travers cet ouvrage son plaisir de concilier les capacités d'un framework et la créativité du développeur.