1. Livres et vidéos
  2. Django - Industrialisez vos développements Python

Django Industrialisez vos développements Python

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

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

Table des matières

  • Avant-propos
    • 1. Public concerné
    • 2. Prérequis
    • 3. Objectifs
    • 4. Organisation du livre
  • Présentation du framework Django
    • 1. Les frameworks en général
    • 2. Django
      • 2.1 Introduction
      • 2.2 Fiche technique
      • 2.3 Bref historique
      • 2.4 Principes techniques
      • 2.5 Les forces et faiblesses de Django
        • 2.5.1 Les points forts
        • 2.5.2 Les faiblesses
    • 3. Pourquoi adopter Django ?
      • 3.1 Python « batteries included »
      • 3.2 Principes philosophiques de conception
      • 3.3 Avantages pour le développeur
    • 4. Comparatif avec d’autres frameworks web
  • Pour débuter
    • 1. Introduction
    • 2. Principes de base, fondamentaux et vue d’ensemble
    • 3. Installer Django et démarrer en cinq minutes
    • 4. Premiers pas (démarrage pas à pas)
      • 4.1 Créer votre premier projet
      • 4.2 Créer votre application
      • 4.3 Le site d’administration de Django
      • 4.4 Les vues Django
      • 4.5 Les templates
      • 4.6 Utilisation des noms d’URL avec des contextes de nommage (namespaces)
      • 4.7 Les formulaires
      • 4.8 Les vues génériques
      • 4.9 Gestion de tests automatiques
      • 4.10 Les fichiers statiques
  • Les outils de développement
    • 1. Les outils de développement et les IDE
      • 1.1 Eclipse et Pydev
        • 1.1.1 Créer un nouveau projet
        • 1.1.2 Travailler avec un projet existant
        • 1.1.3 Utilisation de Django
        • 1.1.4 Run/Debug avec Django
        • 1.1.5 Utilisation de l’option autoreload du serveur de test de Django avec PyDev
      • 1.2 PyCharm
        • 1.2.1 Les atouts de PyCharm
        • 1.2.2 Quelques critiques
        • 1.2.3 Quelques critiques infondées
        • 1.2.4 Pycharm en action en quelques exemples
      • 1.3 Autres éditeurs ou IDE pouvant être utilisés avec Python
    • 2. Les outils de mise au point
      • 2.1 Les fichiers de log (traces d’exécution)
      • 2.2 Django Debug Toolbar
        • 2.2.1 Installation
        • 2.2.2 Utilisation
      • 2.3 Débogueurs Python
        • 2.3.1 pdb
        • 2.3.2 pudb (mode console uniquement)
        • 2.3.3 trepan
      • 2.4 Les outils d’analyse de performance (profiling)
        • 2.4.1 django-profiler 2.0.0
        • 2.4.2 hotshot et Django
        • 2.4.3 RunSnakeRun
      • 2.5 Couverture de code (code coverage)
        • 2.5.1 django-coverage
        • 2.5.2 django-nose
        • 2.5.3 coverage
  • Structure d’un projet et des applications
    • 1. Structure
      • 1.1 Projet
      • 1.2 Application
    • 2. Le fichier settings.py
  • L’ORM et les modèles Django
    • 1. Principes et généralités
    • 2. Intérêt de l’ORM
    • 3. Les modèles
      • 3.1 Utiliser les modèles
      • 3.2 Les différents types de champs
      • 3.3 Arguments à la création des champs
      • 3.4 Les relations entre les tables et les modèles
        • 3.4.1 Relations de type « plusieurs vers un » (n-1 / many-to-one)
        • 3.4.2 Relations de type « plusieurs-vers-plusieurs » (n-m/many-to-many/m2m)
        • 3.4.3 Relations de type « un vers un » (1-1/one-to-one)
        • 3.4.4 Relations entre modèles d’applications différentes
      • 3.5 Comment nommer les attributs, noms de champs du modèle ?
      • 3.6 Les options « Meta »
      • 3.7 Les autres attributs d’un modèle
        • 3.7.1 Définition de méthodes associées à la classe Model
        • 3.7.2 Commandes SQL spécifiques
        • 3.7.3 Surcharge de méthodes
    • 4. L’héritage entre modèles
      • 4.1 Les classes abstraites
      • 4.2 L’héritage utilisant plusieurs tables (Multi-table inheritance)
      • 4.3 Héritage à l’aide de modèles de procuration/« proxies » (Proxy models)
      • 4.4 Héritage multiple
    • 5. Liste complète des champs et leurs paramètres
      • 5.1 Les champs
      • 5.2 Options communes à tous les champs
    • 6. Écrire vos propres types de champs
    • 7. Les options globale, la classe Meta
    • 8. Les managers
      • 8.1 Comment et pourquoi écrire vos propres managers ?
      • 8.2 Ajout de méthodes additionnelles
      • 8.3 Modification des données initiales renvoyées par un manager
    • 9. Les QuerySet : effectuer des requêtes
      • 9.1 Créer des objets
      • 9.2 Modifier une instance
      • 9.3 Accéder à une instance/un objet dans la base
        • 9.3.1 Accéder à l’ensemble des objets
        • 9.3.2 Cas particulier : accéder à un objet spécifique
        • 9.3.3 Accéder à des objets spécifiques en effectuant des recherches ou des tris à l’aide de filtres
      • 9.4 Filtrer les QuerySet, principe de la syntaxe (Field lookups)
        • 9.4.1 Les expressions « F »
        • 9.4.2 La gestion du cache des QuerySet
      • 9.5 Requêtes complexes utilisant les « objets Q »
      • 9.6 Détail de l’API des lookup
      • 9.7 Attributs des QuerySet
      • 9.8 Les méthodes des QuerySet retournant des QuerySet
      • 9.9 Les méthodes des QuerySet qui ne retournent pas de QuerySet
      • 9.10 La destruction des objets
      • 9.11 Copier un objet
      • 9.12 Mettre à jour plusieurs objets à la fois avec update
      • 9.13 L’agrégation
      • 9.14 Requêtes SQL via l’ORM (raw SQL queries)
        • 9.14.1 Exécuter SQL en passant par un modèle
        • 9.14.2 Ajouter des attributs additionnels (annotations)
        • 9.14.3 Paramétrer la chaîne de caractères de la requête SQL
        • 9.14.4 Exécuter SQL directement sans passer par un modèle
        • 9.14.5 Utilisation avec plusieurs bases de données
        • 9.14.6 Améliorer la présentation des résultats
      • 9.15 Gestion des transactions
    • 10. ORM divers
      • 10.1 Gérer plusieurs bases de données
        • 10.1.1 Première étape : définir plusieurs bases de données
        • 10.1.2 Deuxième étape : routage des bases de données
      • 10.2 Support de bases de données non créées par Django
      • 10.3 Les données initiales, les « fixtures »
        • 10.3.1 Utilisation des fixtures
        • 10.3.2 Charger les fixtures automatiquement
        • 10.3.3 Ajouter des répertoires de fixtures
        • 10.3.4 Utilisation de SQL
      • 10.4 Optimiser les accès à la base de données
    • 11. Faire évoluer les modèles au cours du développement
      • 11.1 Django migrate
        • 11.1.1 Principe d’utilisation
        • 11.1.2 Dépendances entre les applications
        • 11.1.3 Les fichiers du système de migration
        • 11.1.4 Traitements sur les données
        • 11.1.5 Réduire le nombre de migrations en les regroupant
        • 11.1.6 Mise à niveau à partir de South
      • 11.2 Autres systèmes de gestion des migrations : South, Django-evolution
    • 12. Django et SQLAlchemy
      • 12.1 Intégration manuelle
      • 12.2 SQLAlchemy et Django avec Django-sabridge
      • 12.3 SQLAlchemy et Django avec Aldjemy
  • Les requêtes HTTP, les URL et les vues
    • 1. Introduction
    • 2. La configuration des URL (URL dispatcher)
      • 2.1 Introduction
      • 2.2 Rappels sur les expressions régulières
      • 2.3 Un exemple de configuration d'URL
      • 2.4 Gestion des pages d'erreur
      • 2.5 Comment importer les vues ?
      • 2.6 Le préfixe de vue dans la fonction patterns
      • 2.7 Inclusion hiérarchique de configuration d'URL
      • 2.8 Capture des expressions régulières lors de l'utilisation de la directive include
      • 2.9 Ajout de paramètres nommés à l'appel des vues dans la configuration des URL
      • 2.10 Résolution inverse des URL
      • 2.11 Nommer les URL
      • 2.12 Les espaces de noms des URL : « URL namespaces »
      • 2.13 Inversion des URL avec des espaces de noms
        • 2.13.1 Comment positionner current_app ?
        • 2.13.2 Syntaxe pour utiliser include avec les espaces de noms
    • 3. Les vues
      • 3.1 Les vues basées sur les fonctions
        • 3.1.1 L'objet HttpRequest
        • 3.1.2 Les objets QueryDict
        • 3.1.3 Les objets HttpResponse
      • 3.2 Retourner des erreurs depuis les vues
      • 3.3 Les décorateurs spécifiques aux vues
        • 3.3.1 Gérer les types de requêtes HTTP
        • 3.3.2 Traitement conditionnel des vues
        • 3.3.3 Gestion des droits et autorisations
      • 3.4 Les fonctions « raccourcis » de Django (Django shortcut functions)
        • 3.4.1 render
        • 3.4.2 render_to_response
        • 3.4.3 redirect
        • 3.4.4 get_object_or_404
        • 3.4.5 get_list_or_404
      • 3.5 Les vues basées sur les classes (class-based view)
        • 3.5.1 Introduction
        • 3.5.2 Que sont les vues basées sur des classes ?
        • 3.5.3 L'utilisation de mixins
        • 3.5.4 Traitement des formulaires dans les vues basées sur des classes
        • 3.5.5 Les décorateurs et les vues basées sur des classes
        • 3.5.6 Les classes génériques de base livrées avec Django
        • 3.5.7 Conclusion
  • Les templates
    • 1. Principes et généralités
      • 1.1 Intérêt des templates
        • 1.1.1 La séparation des préoccupations ou séparation des problèmes
        • 1.1.2 La flexibilité : facilité à modifier la présentation, l’aspect ou le design du site
        • 1.1.3 La facilité de « localisation » (adaptation à une langue) de l’interface du site
        • 1.1.4 Webdesign et codage en parallèle
        • 1.1.5 La normalisation et la standardisation des contenus et des affichages
        • 1.1.6 Réutilisation et généricité
      • 1.2 Django par rapport aux autres systèmes
    • 2. Le principe et la syntaxe du langage de templates de Django
      • 2.1 Les variables
      • 2.2 Les filtres (filters)
      • 2.3 Les tags
      • 2.4 Les commentaires
      • 2.5 Appeler des méthodes depuis les templates
    • 3. L’héritage dans les templates
    • 4. Échappement automatique du HTML
      • 4.1 Désactivation de l’échappement automatique
      • 4.2 Comportement conjoint du tag autoescape et du filtre escape
      • 4.3 Les paramètres de type chaîne de caractères et l'échappement automatique
    • 5. Les librairies de tags et de filtres spécifiques
    • 6. Les tags et les templates de base
      • 6.1 Les tags de base
      • 6.2 Les filtres de Django
      • 6.3 Filtres et tags pour la localisation et l’internationalisation
        • 6.3.1 Librairie i18n
        • 6.3.2 Librairie l10n
        • 6.3.3 Librairie tz
      • 6.4 Autres librairies de tags et de filtres
        • 6.4.1 django.contrib.humanize
        • 6.4.2 django.contrib.webdesign
        • 6.4.3 static
      • 6.5 Les "context processors" de Django
      • 6.6 Créer des tags et des filtres spécifiques
  • Le middleware Django
    • 1. Présentation
    • 2. Installer et activer un middleware
    • 3. Principes de fonctionnement
      • 3.1 Ordre précis d’exécution des méthodes des middlewares
      • 3.2 Comment Django va-t-il procéder ?
      • 3.3 Détail des méthodes
      • 3.4 Cas particulier du streaming
    • 4. Liste et description des middlewares fournis avec Django
    • 5. Ordre d’installation des middlewares Django
  • L'administration de Django
    • 1. Introduction
    • 2. Activer et démarrer le site d'administration
    • 3. La configuration de votre site d'administration
      • 3.1 Les objets ModelAdmin/la classe ModelAdmin
        • 3.1.1 Options concernant la page « liste des objets d'un modèle »
        • 3.1.2 Options concernant la page « création / modification »
        • 3.1.3 Options concernant l’écran de création et modification
        • 3.1.4 Options permettant de modifier les templates utilisées par l’admin
        • 3.1.5 Les méthodes de la classe ModelAdmin
        • 3.1.6 Ajouter du CSS et du JavaScript via ModelAdmin « asset »
      • 3.2 Ajouter des codes de validation spécifiques
      • 3.3 Utiliser les modèles « inline »
        • 3.3.1 Les options (attributs, méthodes) ajoutées
        • 3.3.2 Méthodes concernant les inlines dans ModelAdmin
        • 3.3.3 Traitement des modèles à deux clefs étrangères
        • 3.3.4 Traitement des modèles avec les relations n-m (many-to-many)
      • 3.4 Personnaliser
        • 3.4.1 Modifier les templates
        • 3.4.2 Gérer plusieurs sites d’administration
    • 4. Les actions d'administration
      • 4.1 Écrire vos propres actions
      • 4.2 Intégrer les actions comme des méthodes de ModelAdmin
      • 4.3 Les actions qui ont besoin d’une page intermédiaire
    • 5. Le générateur automatique de documentation
      • 5.1 Installation
      • 5.2 Balises spécifiques
      • 5.3 Structure type de la documentation d’un modèle
      • 5.4 Structure de la documentation d’une vue
      • 5.5 Structure de la documentation des templates
    • 6. Personnaliser les champs et les widgets de l’admin
  • Les formulaires Django
    • 1. Introduction
    • 2. Gestion manuelle
    • 3. Utilisation des formulaires Django
      • 3.1 La classe Form de Django
      • 3.2 Notions complémentaires
      • 3.3 Contrôler la façon dont le formulaire est rendu dans un template
      • 3.4 Contrôler finement la façon dont le formulaire est rendu dans un template
    • 4. Les types de champs d’un formulaire
      • 4.1 Les arguments et les attributs de Field
      • 4.2 Les sous-classes prédéfinies dérivées de Field
        • 4.2.1 Les sous-classes représentant des nombres
        • 4.2.2 Les sous-classes représentant des chaînes de caractères
        • 4.2.3 Les sous-classes représentant des choix
        • 4.2.4 Les sous-classes représentant des dates et/ou des heures
        • 4.2.5 Les sous-classes diverses
        • 4.2.6 Les sous-classes gérant les relations
      • 4.3 Créer vos propres types de champs
    • 5. Créer un formulaire à partir d’un modèle
      • 5.1 Équivalence entre les types de champs de formulaires et ceux du modèle
      • 5.2 La classe ModelForm
        • 5.2.1 Le contrôle et la validation dans une instance de ModelForm
        • 5.2.2 Enregistrer les données : la méthode save() de ModelForm
      • 5.3 Choisir les champs du modèle utilisés dans le formulaire
      • 5.4 Personnaliser les formulaires
        • 5.4.1 Spécifier des paramètres dans la métaclasse incluse
        • 5.4.2 Redéfinir finement chaque champ
        • 5.4.3 La localisation/internationalisation des champs du formulaire
    • 6. CSS et JavaScript dans des formulaires : la classe Media
      • 6.1 Définir des ressources associées à un Widget
        • 6.1.1 Comment accéder aux ressources : le « path »
        • 6.1.2 Utiliser les ressources dans les templates
        • 6.1.3 Les ressources de l’Admin Django
      • 6.2 Définir des ressources associées à un formulaire
    • 7. Les ensembles de formulaires (formsets)
      • 7.1 Initialisation du formset
        • 7.1.1 Gérer le nombre maximal de formulaires affichés à l’écran
        • 7.1.2 Gérer la validation des formsets
        • 7.1.3 Contrôler et valider le nombre de formulaires dans un formset
      • 7.2 Le gestionnaire de formulaires ManagementForm
        • 7.2.1 Ordonner les formulaires et gérer la destruction
        • 7.2.2 Utiliser les formsets dans les templates
        • 7.2.3 Les formsets basés sur un modèle
        • 7.2.4 Spécifier le QuerySet avec lequel travaille le formset
        • 7.2.5 Utiliser un formulaire spécifique avec un formset basé sur un modèle
        • 7.2.6 La méthode save()
        • 7.2.7 Utiliser un formset basé sur un modèle dans une vue
        • 7.2.8 Utiliser un formset basé sur un modèle dans un template
        • 7.2.9 Les formsets de type « inline »
    • 8. Les vues génériques basées sur des classes et les formulaires
      • 8.1 Utilisation des vues génériques avec un formulaire simple (Form)
      • 8.2 Utilisation des vues génériques avec un formulaire utilisant un modèle (ModelForm)
    • 9. La gestion des fichiers
    • 10. Formulaires de type software wizard (assistant logiciel)
      • 10.1 Principe de fonctionnement
      • 10.2 Utilisation en cinq étapes
      • 10.3 Gérer des étapes conditionnelles
      • 10.4 Comment donner des noms aux étapes ?
      • 10.5 Utiliser un template différent pour chaque formulaire
      • 10.6 Initialiser le contenu des formulaires
      • 10.7 Gérer les fichiers
      • 10.8 Quelques méthodes de la classe WizardView
    • 11. La localisation des formulaires
      • 11.1 La traduction
      • 11.2 La localisation des formats
  • La traduction et la localisation
    • 1. Principes et généralités
    • 2. Traduction
      • 2.1 Principe général
        • 2.1.1 Les chaînes formatées
        • 2.1.2 Gestion du pluriel
        • 2.1.3 Gestion des homonymes, marqueurs contextuels
        • 2.1.4 Donner des informations aux traducteurs
      • 2.2 Traduire dans les templates
        • 2.2.1 Traduire des chaînes en paramètre dans des tags ou des filtres
        • 2.2.2 Donner des informations aux traducteurs
        • 2.2.3 Sélectionner la langue dans le template
        • 2.2.4 Liste des autres tags liés à la traduction (i18n)
        • 2.2.5 Les filtres liés à la traduction (i18n)
      • 2.3 Les traductions en JavaScript
        • 2.3.1 Utilisation dans le code JavaScript
        • 2.3.2 Gestion du pluriel
        • 2.3.3 Performance
      • 2.4 Traduction des schémas d’URL
      • 2.5 Créer les fichiers de langues
        • 2.5.1 Quelques options de makemessages
        • 2.5.2 Format des fichiers .po
        • 2.5.3 Compiler les messages
      • 2.6 Gettext
      • 2.7 La vue Django de choix de langage
      • 2.8 Affecter le langage dans le programme
      • 2.9 Configurer votre projet pour qu’il soit multilingue
      • 2.10 Les fichiers de traduction utilisés par Django
    • 3. La localisation
      • 3.1 Activer et désactiver la localisation dans les templates
        • 3.1.1 Le tag
        • 3.1.2 Les filtres
        • 3.1.3 La localisation dans les formulaires
      • 3.2 Créer des formats spécifiques
    • 4. Les timezones
      • 4.1 Le principe
      • 4.2 Affecter le fuseau horaire à une session
      • 4.3 L’utilisation des timezones dans les formulaires
      • 4.4 L’utilisation des timezones dans les templates
        • 4.4.1 Les tags
        • 4.4.2 Les filtres
      • 4.5 Quelques points particuliers
        • 4.5.1 MySQL
        • 4.5.2 Conversion d’un objet datetime ordinaire connu
  • Approfondissements
    • 1. Générer d’autres formats que du HTML
      • 1.1 Générer un fichier PDF
      • 1.2 Générer un fichier CSV
    • 2. Personnaliser le modèle « USER MODEL » de Django
      • 2.1 Étendre le modèle User
      • 2.2 Remplacer le modèle User de Django
      • 2.3 Écrire un modèle User personnalisé
    • 3. Les signaux
      • 3.1 Recevoir un signal
      • 3.2 Recevoir un signal émis par un émetteur spécifique
      • 3.3 Ne pas recevoir le même signal plusieurs fois
      • 3.4 Définir des signaux
      • 3.5 Envoyer des signaux
      • 3.6 Ne plus recevoir un signal
    • 4. La sécurité
      • 4.1 Protection contre le clickjacking
      • 4.2 Protection contre les attaques XSS
      • 4.3 Protection contre les attaques SRF
      • 4.4 Les signatures cryptographiques
    • 5. La création de commandes en mode console
    • 6. Les exceptions
      • 6.1 Exceptions de base du noyau Django
      • 6.2 Exceptions relatives à la résolution des URL
      • 6.3 Exceptions relatives aux bases de données
      • 6.4 Exception relative aux transactions
      • 6.5 Exception HTTP
  • Les applications Django
    • 1. Introduction
    • 2. Les applications Django incluses dans le package contrib
      • 2.1 L’administration de Django : « the Django admin site »
      • 2.2 django.contrib.auth
      • 2.3 Le framework contenttypes
      • 2.4 Le middleware CSRF
      • 2.5 L’application flatpages
        • 2.5.1 Configuration utilisant les URL
        • 2.5.2 Configuration utilisant le middleware
        • 2.5.3 Gérer les flatpages
        • 2.5.4 Les templates des flatpages
        • 2.5.5 Le tag get_flatpages
        • 2.5.6 Limiter la visibilité d’une flatpage aux utilisateurs enregistrés
        • 2.5.7 Filtrer la liste des pages
      • 2.6 Le package django.contrib.formtools
      • 2.7 L’application GeoDjango
      • 2.8 Le jeu de filtres django.contrib.humanize
      • 2.9 Le framework messages
        • 2.9.1 Utiliser les messages dans les vues
        • 2.9.2 Utiliser les messages dans les templates
        • 2.9.3 Gérer le niveau minimal des messages affichés
        • 2.9.4 Ajouter des étiquettes (tags) aux messages
        • 2.9.5 Utiliser les messages avec les vues basées sur des classes (Class-Based Views)
        • 2.9.6 Expiration des messages
      • 2.10 L’application redirects
      • 2.11 Le framework sitemaps
        • 2.11.1 La classe Sitemap
        • 2.11.2 Gérer les autres vues, les vues isolées
        • 2.11.3 Créer un index de plusieurs fichiers sitemap
        • 2.11.4 Utilisation de templates avec les sitemaps
      • 2.12 Le framework sites
      • 2.13 Le framework syndication feed
        • 2.13.1 Gérer plusieurs flux RSS avec la même classe
        • 2.13.2 Gestion des langues
      • 2.14 Outils pour les webdesigners : django.contrib.webdesign
      • 2.15 L’application staticfiles
        • 2.15.1 Configuration rapide
        • 2.15.2 Variables de configuration
        • 2.15.3 Commandes consoles
        • 2.15.4 Les classes de stockage (storages)
        • 2.15.5 Les tags de template de l’application staticfiles
        • 2.15.6 Servir les fichiers lors du développement avec la vue « Static file view »
        • 2.15.7 Servir les fichiers des utilisateurs lors du développement
        • 2.15.8 Déploiement
    • 3. La gestion des caches
      • 3.1 Le cache côté client ou cache du navigateur
      • 3.2 Le décorateur condition
      • 3.3 Raccourcis
      • 3.4 Utilisation de condition avec des méthodes autres que GET
      • 3.5 Le cache côté serveur
      • 3.6 Activer les mécanismes du cache
      • 3.7 Les paramètres de configuration des caches
      • 3.8 Cacher l’intégralité du site
      • 3.9 Cacher vue par vue
      • 3.10 Gestion des caches en aval
      • 3.11 Autres headers de contrôle du cache
    • 4. Les applications et projets Django de la communauté
      • 4.1 Où trouver des applications Django ?
      • 4.2 Les tags et l’application django-taggit
        • 4.2.1 La classe TaggableManager
        • 4.2.2 Requêtes et API
    • 5. Le déploiement et l’hébergement
      • 5.1 Quel Python utiliser, pour quelle compatibilité ?
        • 5.1.1 Jython
        • 5.1.2 Python 3
        • 5.1.3 Les autres Python, Cython, PyPy, etc.
      • 5.2 Préparer le déploiement en production
        • 5.2.1 Où installer le code de Django ?
        • 5.2.2 Éteindre le débogueur
        • 5.2.3 Écrire et tester les templates des pages d’erreurs
        • 5.2.4 Mettre en place un suivi et une gestion des erreurs
        • 5.2.5 Optimiser les réglages pour la production
        • 5.2.6 Croissance et escalade de la solution d’hébergement
        • 5.2.7 Checklist de lancement en production
    • 6. Hébergement : le déploiement en production
      • 6.1 Rappel sur les méthodes d’hébergement
      • 6.2 Déploiement avec Apache et le module mod_python
        • 6.2.1 Configuration de base
        • 6.2.2 Faire tourner plusieurs sites Django avec Apache
        • 6.2.3 Remarques concernant les tests et le débogage
      • 6.3 Déployer Django sur un serveur dédié
      • 6.4 Configuration Django sur un serveur avec WSGI
        • 6.4.1 Configuration des réglages de WSGI (monprojet/wsgi.py)
        • 6.4.2 Utilisation d’un middleware (intermédiaire) WSGI
      • 6.5 Déployer Django avec WSGI sur un serveur Apache avec mod_wsgi
        • 6.5.1 Configuration de départ
        • 6.5.2 Les fichiers statiques et media
      • 6.6 Utiliser Django avec FastCGI, SCGI ou AJP
      • 6.7 Google App Engine
        • 6.7.1 La base de données GAE
        • 6.7.2 Utiliser la base de données Cloud SQL
        • 6.7.3 Configurer la base pour la production
        • 6.7.4 Les commandes en mode console
        • 6.7.5 Adapter votre projet Django à GAE
        • 6.7.6 Utiliser Django avec la base de données de Google App Engine
      • 6.8 Hébergement ne proposant qu’une interface CGI basique
      • Index

Auteur

Franck FOURNIEREn savoir plus

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.

Caractéristiques

  • Niveau Confirmé à Expert
  • Nombre de pages 754 pages
  • Parution mars 2015
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-7460-0927-9
    • EAN : 9782746092709
    • Ref. ENI : EIDJA
  • Niveau Confirmé à Expert
  • Parution mars 2015
    • HTML
    • ISBN : 978-2-7460-9535-9
    • EAN : 9782746095359
    • Ref. ENI : LNEIDJA

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (1,46 Mo)