Ce livre sur Django s'adresse principalement aux développeurs Python désireux de maîtriser ce framework pour gérer leurs projets de A à Z. Un développeur web utilisant une autre technologie y trouvera matière à évaluer l'apport de Django et à pouvoir s'y plonger facilement.
L'auteur propose une prise en main efficace de Django et conduit progressivement le lecteur à la maîtrise de bases solides sur la conception...
Ce livre sur Django s'adresse principalement aux développeurs Python désireux de maîtriser ce framework pour gérer leurs projets de A à Z. Un développeur web utilisant une autre technologie y trouvera matière à évaluer l'apport de Django et à pouvoir s'y plonger facilement.
L'auteur propose une prise en main efficace de Django et conduit progressivement le lecteur à la maîtrise de bases solides sur la conception de projets Django, du développement au déploiement en production.
Une introduction présente les frameworks web en général et Django en particulier, son historique, sa communauté et ses avantages et permet de comprendre les raisons de sa popularité. L'auteur propose ensuite une prise en main de Django puis détaille ses principes techniques et enfin les outils de développement et les IDE qui permettent de travailler avec Django encore plus facilement.
Une série de chapitres couvre les principales notions de Django : la structure d'un projet, l'ORM, les vues et le routage des urls, les templates, le middelware. Un chapitre spécifique traite du puissant outil de création d'applications de type Back Office qu'est l'administration Django.
Enfin, l'auteur conclut le livre par deux chapitres relatifs aux approfondissements et à l'utilisation d'applications Django existantes dans vos projets.
Le lecteur pourra télécharger sur le site www.editions-eni.fr, le projet résultat du tutoriel décrit dans le livre et un projet de réservation de salles avec intégration d'une application tierce.
Les chapitres du livre :
Avant-propos – Présentation du framework Django – Pour débuter – Les outils de développement – Structure d'un projet et des applications – L'ORM et les modèles Django – Les requêtes HTTP, les URL et les vues – Les templates – Le middleware Django – L'administration de Django – Les formulaires Django – La traduction et la localisation – Approfondissements – Les applications Django
Les applications Django incluses dans le package contrib
1. L’administration de Django : « theDjango admin site »
2. django.contrib.auth
3. Le framework contenttypes
4. Le middleware CSRF
5. L’application flatpages
a. Configuration utilisant les URL
b. Configuration utilisant le middleware
c. Gérer les flatpages
d. Les templates des flatpages
e. Le tag get_flatpages
f. Limiter la visibilité d’une flatpageaux utilisateurs enregistrés
g. Filtrer la liste des pages
6. Le package django.contrib.formtools
7. L’application GeoDjango
8. Le jeu de filtres django.contrib.humanize
9. Le framework messages
a. Utiliser les messages dans les vues
b. Utiliser les messages dans les templates
c. Gérer le niveau minimal des messages affichés
d. Ajouter des étiquettes (tags) aux messages
e. Utiliser les messages avec les vues basées sur des classes (Class-Based Views)
f. Expiration des messages
10. L’application redirects
11. Le framework sitemaps
a. La classe Sitemap
b. Gérer les autres vues, les vues isolées
c. Créer un index de plusieurs fichiers sitemap
d. Utilisation de templates avec les sitemaps
12. Le framework sites
13. Le framework syndication feed
a. Gérer plusieurs flux RSS avec la mêmeclasse
b. Gestion des langues
14. Outils pour les webdesigners : django.contrib.webdesign
15. L’application staticfiles
a. Configuration rapide
b. Variables de configuration
c. Commandes consoles
d. Les classes de stockage (storages)
e. Les tags de template de l’application staticfiles
f. Servir les fichiers lors du développement avec la vue « Static file view »
g. Servir les fichiers des utilisateurs lors du développement
h. Déploiement
La gestion des caches
1. Le cache côté client ou cache dunavigateur
2. Le décorateur condition
3. Raccourcis
4. Utilisation de condition avec des méthodesautres que GET
5. Le cache côté serveur
6. Activer les mécanismes du cache
7. Les paramètres de configuration des caches
8. Cacher l’intégralité dusite
9. Cacher vue par vue
10. Gestion des caches en aval
11. Autres headers de contrôle du cache
Les applications et projets Django de la communauté
1. Où trouver des applications Django ?
2. Les tags et l’application django-taggit
a. La classe TaggableManager
b. Requêtes et API
Le déploiement et l’hébergement
1. Quel Python utiliser, pour quelle compatibilité ?
a. Jython
b. Python 3
c. Les autres Python, Cython, PyPy, etc.
2. Préparer le déploiement en production
a. Où installer le code de Django ?
b. Éteindre le débogueur
c. Écrire et tester les templates des pagesd’erreurs
d. Mettre en place un suivi et une gestion des erreurs
e. Optimiser les réglages pour la production
f. Croissance et escalade de la solution d’hébergement
g. Checklist de lancement en production
Hébergement : le déploiement en production
1. Rappel sur les méthodes d’hébergement
2. Déploiement avec Apache et le module mod_python
a. Configuration de base
b. Faire tourner plusieurs sites Django avec Apache
c. Remarques concernant les tests et le débogage
3. Déployer Django sur un serveur dédié
4. Configuration Django sur un serveur avec WSGI
a. Configuration des réglages de WSGI (monprojet/wsgi.py)
b. Utilisation d’un middleware (intermédiaire)WSGI
5. Déployer Django avec WSGI sur un serveurApache avec mod_wsgi
a. Configuration de départ
b. Les fichiers statiques et media
6. Utiliser Django avec FastCGI, SCGI ou AJP
7. Google App Engine
a. La base de données GAE
b. Utiliser la base de données Cloud SQL
c. Configurer la base pour la production
d. Les commandes en mode console
e. Adapter votre projet Django à GAE
f. Utiliser Django avec la base de données deGoogle App Engine
8. Hébergement ne proposant qu’uneinterface CGI basique
Franck FOURNIER
De formation Ingénieur Informatique, Franck FOURNIER a exercé de très nombreuses années comme Directeur de Recherche et Développement dans diverses sociétés. Il est aujourd'hui consultant indépendant, Expert Python, et ses dernières missions l'ont conduit sur divers projets Django et Python de grande envergure. À travers les pages de ce livre, il partage volontiers cette expertise avec le lecteur pour lui fournir un livre réellement pragmatique sur les développements Python avec Django.