Développez votre site web avec le framework Django Par Mathieu Xhonneux (MathX)

Développez votre site web avec le framework Django Par Mathieu Xhonneux (MathX) et Maxime Lorant (Ssx`z) www.openclassrooms.com Licence Creative Commons 6 2.0 Dernière mise à jour le 2/04/2013 Sommaire 2 Sommaire ........................................................................................................................................... 3 Lire aussi ............................................................................................................................................ 5 Développez votre site web avec le framework Django ....................................................................... 5 Partie 1 : Présentation de Django ....................................................................................................... 6 Créez vos applications web avec Django ......................................................................................................................... 6 Qu'est-ce qu'un framework ? ....................................................................................................................................................................................... 6 Quels sont les avantages d'un framework ? ............................................................................................................................................................... 6 Quels sont les désavantages d'un framework ? .......................................................................................................................................................... 6 Qu'est-ce que Django ? ............................................................................................................................................................................................... 7 Pourquoi ce succès ? .................................................................................................................................................................................................. 7 Une communauté à votre service ............................................................................................................................................................................... 7 Téléchargement et installation .................................................................................................................................................................................... 7 Linux et Mac OS .......................................................................................................................................................................................................... 8 Windows ...................................................................................................................................................................................................................... 9 Vérification de l'installation .......................................................................................................................................................................................... 9 En résumé ................................................................................................................................................................................................................... 10 Le fonctionnement de Django ......................................................................................................................................... 10 Un peu de théorie : l'architecture MVC ..................................................................................................................................................................... 10 La spécificité de Django : le modèle MVT ................................................................................................................................................................. 11 Projets et applications ............................................................................................................................................................................................... 12 En résumé ................................................................................................................................................................................................................. 13 Gestion d'un projet .......................................................................................................................................................... 13 Créons notre premier projet ...................................................................................................................................................................................... 14 Configurez votre projet .............................................................................................................................................................................................. 16 Créons notre première application ............................................................................................................................................................................ 17 En résumé ................................................................................................................................................................................................................. 18 Les bases de données et Django ................................................................................................................................... 18 Une base de données, c'est quoi ? ........................................................................................................................................................................... 18 Le langage SQL et les gestionnaires de base de données ....................................................................................................................................... 19 La magie des ORM ................................................................................................................................................................................................... 20 Le principe des clés étrangères ................................................................................................................................................................................ 21 En résumé ................................................................................................................................................................................................................. 22 Partie 2 : Premiers pas ..................................................................................................................... 22 Votre première page grâce aux vues .............................................................................................................................. 22 Hello World ! .............................................................................................................................................................................................................. 22 La gestion des vues .................................................................................................................................................................................................. 23 Routage d'URL : comment j'accède à ma vue ? ....................................................................................................................................................... 25 Organiser proprement vos URL ................................................................................................................................................................................ 25 Comment procède-t-on ? .......................................................................................................................................................................................... 27 Passer des arguments à vos vues ............................................................................................................................................................................ 28 Des réponses spéciales ............................................................................................................................................................................................ 28 Simuler une page non trouvée .................................................................................................................................................................................. 29 Rediriger l'utilisateur .................................................................................................................................................................................................. 30 En résumé ................................................................................................................................................................................................................. 32 Les templates .................................................................................................................................................................. 32 Lier template et vue ................................................................................................................................................................................................... 34 Affichons nos variables à l'utilisateur ........................................................................................................................................................................ 34 Affichage d'une variable ............................................................................................................................................................................................ 34 Les filtres ................................................................................................................................................................................................................... 35 Manipulons nos données avec les tags .................................................................................................................................................................... 35 Les conditions : {% if %} ............................................................................................................................................................................................ 36 Les boucles : {% for %} ............................................................................................................................................................................................. 37 Le tag {% block %} .................................................................................................................................................................................................... 39 Les liens vers les vues : {% url %} ............................................................................................................................................................................ 39 Les commentaires : {% comment %} ........................................................................................................................................................................ 40 Ajoutons des fichiers statiques .................................................................................................................................................................................. 41 En résumé ................................................................................................................................................................................................................. 42 Les modèles .................................................................................................................................................................... 42 Créer un modèle ........................................................................................................................................................................................................ 43 Jouons avec des données ........................................................................................................................................................................................ 47 Les liaisons entre modèles ........................................................................................................................................................................................ 52 Les modèles dans les vues ....................................................................................................................................................................................... 52 Afficher les articles du blog ....................................................................................................................................................................................... 54 Afficher un article précis ............................................................................................................................................................................................ 56 En résumé ................................................................................................................................................................................................................. 57 L'administration ............................................................................................................................................................... 57 Mise en place de l'administration .............................................................................................................................................................................. 57 Les modules django.contrib ...................................................................................................................................................................................... 57 Accédons à cette administration ! ............................................................................................................................................................................. 59 Première prise en main ............................................................................................................................................................................................. 61 Administrons nos propres modèles ........................................................................................................................................................................... 62 Personnalisons l'administration ................................................................................................................................................................................. 63 Modifier l'aspect des listes ........................................................................................................................................................................................ 67 Modifier le formulaire d'édition .................................................................................................................................................................................. 2/205 www.openclassrooms.com 69 Retour sur notre problème de slug ............................................................................................................................................................................ 70 En résumé ................................................................................................................................................................................................................. 70 Les formulaires ................................................................................................................................................................ 71 Créer un formulaire ................................................................................................................................................................................................... 72 Utiliser un formulaire dans une vue ........................................................................................................................................................................... 74 Créons nos propres règles de validation ................................................................................................................................................................... 77 Des formulaires à partir de modèles ......................................................................................................................................................................... 81 En résumé ................................................................................................................................................................................................................. 82 La gestion des fichiers .................................................................................................................................................... 82 Enregistrer une image ............................................................................................................................................................................................... 83 Afficher une image .................................................................................................................................................................................................... 85 Encore plus loin ......................................................................................................................................................................................................... 86 En résumé ................................................................................................................................................................................................................. 86 TP : un raccourcisseur d'URL ......................................................................................................................................... 87 Cahier des charges ................................................................................................................................................................................................... 88 Correction .................................................................................................................................................................................................................. 93 Partie 3 : Techniques avancées ........................................................................................................ 93 Les vues génériques ....................................................................................................................................................... 93 Premiers pas avec des pages statiques ................................................................................................................................................................... 94 Lister et afficher des données ................................................................................................................................................................................... 94 Une liste d'objets en quelques lignes avec ListView ................................................................................................................................................. 98 Afficher un article via DetailView ............................................................................................................................................................................... 99 Agir sur les données ................................................................................................................................................................................................. 99 CreateView ................................................................................................................................................................................................................ 100 UpdateView ............................................................................................................................................................................................................. 103 DeleteView .............................................................................................................................................................................................................. 104 En résumé ............................................................................................................................................................................................................... 105 Techniques avancées dans les modèles ...................................................................................................................... 106 Les requêtes complexes avec Q ............................................................................................................................................................................. 108 L'agrégation ............................................................................................................................................................................................................. 110 L'héritage de modèles ............................................................................................................................................................................................. 110 Les modèles parents abstraits ................................................................................................................................................................................. 111 Les modèles parents classiques .............................................................................................................................................................................. 112 Les modèles proxy .................................................................................................................................................................................................. 113 L'application ContentType ....................................................................................................................................................................................... 116 En résumé ............................................................................................................................................................................................................... 117 Simplifions nos templates : filtres, tags et contextes ..................................................................................................... 117 Préparation du terrain : architecture des filtres et tags ............................................................................................................................................ 118 Personnaliser l'affichage de données avec nos propres filtres ............................................................................................................................... 118 Un premier exemple de filtre sans argument ........................................................................................................................................................... 120 Un filtre avec arguments ......................................................................................................................................................................................... 122 Les contextes de templates .................................................................................................................................................................................... 123 Un exemple maladroit : afficher la date sur toutes nos pages ................................................................................................................................ 123 Factorisons encore et toujours ................................................................................................................................................................................ 125 Des structures plus complexes : les custom tags ................................................................................................................................................... 126 Première étape : la fonction de compilation ............................................................................................................................................................ 129 Passage de variable dans notre tag ........................................................................................................................................................................ 131 Les simple tags ....................................................................................................................................................................................................... 131 Quelques points à ne pas négliger .......................................................................................................................................................................... 132 En résumé ............................................................................................................................................................................................................... 133 Les signaux et middlewares .......................................................................................................................................... 133 Notifiez avec les signaux ......................................................................................................................................................................................... 136 Contrôlez tout avec les middlewares ...................................................................................................................................................................... 139 En résumé ............................................................................................................................................................................................................... 140 Partie 4 : Des outils supplémentaires .............................................................................................. 140 Les utilisateurs .............................................................................................................................................................. 140 Commençons par la base ....................................................................................................................................................................................... 140 L'utilisateur .............................................................................................................................................................................................................. 141 Les mots de passe .................................................................................................................................................................................................. 142 Étendre le modèle User .......................................................................................................................................................................................... 143 Passons aux vues ................................................................................................................................................................................................... 143 La connexion ........................................................................................................................................................................................................... 144 La déconnexion ....................................................................................................................................................................................................... 145 En général ............................................................................................................................................................................................................... 146 Les vues génériques ............................................................................................................................................................................................... 146 Se connecter ........................................................................................................................................................................................................... 147 Se déconnecter ....................................................................................................................................................................................................... 147 Se déconnecter puis se connecter .......................................................................................................................................................................... 147 Changer le mot de passe ........................................................................................................................................................................................ 147 Confirmation du changement de mot de passe ...................................................................................................................................................... 148 Demande de réinitialisation du mot de passe ......................................................................................................................................................... 148 Confirmation de demande de réinitialisation du mot de passe ............................................................................................................................... 148 Réinitialiser le mot de passe ................................................................................................................................................................................... 149 Confirmation de la réinitialisation du mot de passe ................................................................................................................................................. 149 Les permissions et les groupes ............................................................................................................................................................................... 149 Les permissions ...................................................................................................................................................................................................... 151 Les groupes ............................................................................................................................................................................................................. 151 En résumé ............................................................................................................................................................................................................... 151 Les messages ............................................................................................................................................................... 152 Les bases ................................................................................................................................................................................................................ Sommaire 3/205 www.openclassrooms.com 153 Dans les détails ....................................................................................................................................................................................................... 154 En résumé ............................................................................................................................................................................................................... 155 La mise en cache .......................................................................................................................................................... 155 Cachez-vous ! ......................................................................................................................................................................................................... 155 Dans des fichiers ..................................................................................................................................................................................................... 155 Dans la mémoire ..................................................................................................................................................................................................... 156 Dans la base de données ....................................................................................................................................................................................... 156 En utilisant Memcached .......................................................................................................................................................................................... 157 Pour le développement ........................................................................................................................................................................................... 157 Quand les données jouent à cache-cache .............................................................................................................................................................. 157 Cache par vue ......................................................................................................................................................................................................... 158 Dans les templates .................................................................................................................................................................................................. 158 La mise en cache de bas niveau ............................................................................................................................................................................. 160 En résumé ............................................................................................................................................................................................................... 161 La pagination ................................................................................................................................................................. 161 Exerçons-nous en console ...................................................................................................................................................................................... 163 Utilisation concrète dans une vue ........................................................................................................................................................................... 165 En résumé ............................................................................................................................................................................................................... 165 L'internationalisation ...................................................................................................................................................... 166 Qu'est-ce que le i18n et comment s'en servir ? ...................................................................................................................................................... 169 Traduire les chaînes dans nos vues et modèles ..................................................................................................................................................... 172 Cas des modèles .................................................................................................................................................................................................... 172 Traduire les chaînes dans nos templates ................................................................................................................................................................ 173 Le tag {% trans %} ................................................................................................................................................................................................... 173 Le tag {% blocktrans %} ......................................................................................................................................................................................... 174 Aidez les traducteurs en laissant des notes ! .......................................................................................................................................................... 175 Sortez vos dictionnaires, place à la traduction ! ...................................................................................................................................................... 175 Génération des fichiers .po ..................................................................................................................................................................................... 177 Génération des fichiers .mo .................................................................................................................................................................................... 177 Le changement de langue ....................................................................................................................................................................................... 178 En résumé ............................................................................................................................................................................................................... 178 Les tests unitaires ......................................................................................................................................................... 179 Nos premiers tests .................................................................................................................................................................................................. 181 Testons des vues .................................................................................................................................................................................................... 183 En résumé ............................................................................................................................................................................................................... 183 Ouverture vers de nouveaux horizons : django.contrib ................................................................................................ 184 Vers l'infini et au-delà .............................................................................................................................................................................................. 185 Dynamisons nos pages statiques avec flatpages ! ................................................................................................................................................. 185 Installation du module ............................................................................................................................................................................................. 186 Gestion et affichage des pages ............................................................................................................................................................................... 187 Lister les pages statiques disponibles ..................................................................................................................................................................... 188 Rendons nos données plus lisibles avec humanize ................................................................................................................................................ 188 apnumber ................................................................................................................................................................................................................ 188 intcomma ................................................................................................................................................................................................................. 188 intword ..................................................................................................................................................................................................................... 189 naturalday ................................................................................................................................................................................................................ 189 naturaltime .............................................................................................................................................................................................................. 190 ordinal ...................................................................................................................................................................................................................... 190 En résumé ............................................................................................................................................................................................................... 191 Partie 5 : Annexes ........................................................................................................................... 191 Déployer votre application en production ...................................................................................................................... 191 Le déploiement ........................................................................................................................................................................................................ 193 Gardez un œil sur le projet ...................................................................................................................................................................................... 193 Activer l'envoi d'e-mails ........................................................................................................................................................................................... 194 Quelques options utiles… ....................................................................................................................................................................................... 195 Hébergeurs supportant Django ............................................................................................................................................................................... 195 En résumé ............................................................................................................................................................................................................... 196 L'utilitaire manage.py .................................................................................................................................................... 196 Les commandes de base ........................................................................................................................................................................................ 196 Prérequis ................................................................................................................................................................................................................. 196 Liste des commandes ............................................................................................................................................................................................. 199 La gestion de la base de données .......................................................................................................................................................................... 203 Les commandes d'applications ............................................................................................................................................................................... Lire aussi 4/205 www.openclassrooms.com Développez votre site web avec le framework Django Par Maxime Lorant (Ssx`z) et Mathieu Xhonneux (MathX) Mise à jour : 02/04/2013 Difficulté : Intermédiaire Durée d'étude : 15 jours Django « Le framework web pour les perfectionnistes sous pression » En quelques années, les sites web n'ont cessé d'évoluer. Ils requièrent désormais des développements longs et acharnés, sans oublier le fait que ceux-ci peuvent parfois devenir très complexes et se mesurer en milliers de lignes de code. Aujourd'hui, la simple page web ne suffit plus, et que ce soit dans un cadre professionnel ou personnel, les attentes sont de plus en plus lourdes. C'est de ce constat qu'est né Django : proposer un développement plus efficace et plus rapide d'une application dynamique web, tout en conservant la qualité ! Ce cours vous apprendra à construire des sites web complexes et élégants, et en un temps record. Ce tutoriel nécessite des connaissances préalables dans les uploads/Ingenierie_Lourd/ cours-gratuit-com-id-11453.pdf

  • 39
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager