Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours programmation » Cours Python

Cours sur la programmation web avec python

Cours sur la programmation web avec python
Participez au vote ☆☆☆☆☆★★★★★

Développez votre site web avec le framework Django

Sommaire

Lire aussi .. 3

 Développez votre site web avec le framework Django .. 5

Partie 1 : Présentation de Django . 5

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 ? .. 6

Pourquoi ce succès ? .. 7

Une communauté à votre service . 7

Téléchargement et installation 7

Linux et Mac OS . 7

Windows . 8

Vérification de l'installation 9

En résumé . 9

Le fonctionnement de Django .. 10

Un peu de théorie : l'architecture MVC 10

La spécificité de Django : le modèle MVT .. 10 Projets et applications .. 11

En résumé .. 12

Gestion d'un projet . 13

Créons notre premier projet .. 13

Configurez votre projet . 14

Créons notre première application . 16

En résumé .. 17

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 18

La magie des ORM 19

Le principe des clés étrangères .. 20

En résumé .. 21

Partie 2 : Premiers pas 22

Votre première page grâce aux vues 22

Hello World ! .. 22

La gestion des vues .. 22

Routage d'URL : comment j'accède à ma vue ? . 23

Organiser proprement vos URL .. 25

Comment procède-t-on ? 25

Passer des arguments à vos vues . 27

Des réponses spéciales .. 28

Simuler une page non trouvée . 28

Rediriger l'utilisateur .. 29

En résumé .. 30

Les templates 32

Lier template et vue 32

Affichons nos variables à l'utilisateur 34

Affichage d'une variable .. 34

Les filtres . 34

Manipulons nos données avec les tags .. 35

Les conditions : {% if %} .. 35

Les boucles : {% for %} 36

Le tag {% block %} . 37

Les liens vers les vues : {% url %} . 39

Les commentaires : {% comment %} 39

Ajoutons des fichiers statiques . 40

En résumé .. 41

Les modèles .. 42

Créer un modèle .. 42

Jouons avec des données . 43

Les liaisons entre modèles . 47

Les modèles dans les vues 52

Afficher les articles du blog 52

Afficher un article précis .. 54

En résumé .. 56

L'administration 57

Mise en place de l'administration 57

Les modules django.contrib .. 57

Accédons à cette administration ! .. 57

Première prise en main 59

Administrons nos propres modèles 61

Personnalisons l'administration 62

Modifier l'aspect des listes . 63

Modifier le formulaire d'édition . 67

Sommaire

Retour sur notre problème de slug . 69

En résumé .. 70

Les formulaires . 70

Créer un formulaire 71

Utiliser un formulaire dans une vue 72

Créons nos propres règles de validation . 74

Des formulaires à partir de modèles . 77

En résumé .. 81

La gestion des fichiers . 82

Enregistrer une image .. 82

Afficher une image . 83

Encore plus loin 85

En résumé .. 86

TP : un raccourcisseur d'URL .. 86

Cahier des charges 87

Correction 88

Partie 3 : Techniques avancées .. 93

Les vues génériques . 93

Premiers pas avec des pages statiques . 93

Lister et afficher des données .. 94

Une liste d'objets en quelques lignes avec ListView . 94

Afficher un article via DetailView . 98

Agir sur les données . 99

CreateView . 99

UpdateView . 100

DeleteView .. 103

En résumé 104

Techniques avancées dans les modèles . 105

Les requêtes complexes avec Q .. 106

L'agrégation . 108 L'héritage de modèles 110

Les modèles parents abstraits 110

Les modèles parents classiques 111

Les modèles proxy .. 112

L'application ContentType 113

En résumé 116

Simplifions nos templates : filtres, tags et contextes .. 117

Préparation du terrain : architecture des filtres et tags .. 117

Personnaliser l'affichage de données avec nos propres filtres . 118

Un premier exemple de filtre sans argument .. 118

Un filtre avec arguments .. 120

Les contextes de templates 122

Un exemple maladroit : afficher la date sur toutes nos pages .. 123

Factorisons encore et toujours .. 123

Des structures plus complexes : les custom tags 125

Première étape : la fonction de compilation 126

Passage de variable dans notre tag 129

Les simple tags . 131

Quelques points à ne pas négliger .. 131

En résumé 132

Les signaux et middlewares 133

Notifiez avec les signaux .. 133

Contrôlez tout avec les middlewares . 136

En résumé 139

Partie 4 : Des outils supplémentaires . 140

Les utilisateurs .. 140

Commençons par la base 140

L'utilisateur .. 140

Les mots de passe .. 141

Étendre le modèle User 142

Passons aux vues 143

La connexion .. 143

La déconnexion . 144

En général 145

Les vues génériques .. 146

Se connecter .. 146

Se déconnecter . 147

Se déconnecter puis se connecter .. 147

Changer le mot de passe . 147

Confirmation du changement de mot de passe 147

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 .. 148

Confirmation de la réinitialisation du mot de passe . 149

Les permissions et les groupes . 149

Les permissions 149

Les groupes . 151

En résumé 151

Les messages 151

Les bases . 152

Lire aussi

Dans les détails . 153

En résumé 154

La mise en cache . 155

Cachez-vous ! 155

Dans des fichiers .. 155

Dans la mémoire .. 155

Dans la base de données 156

En utilisant Memcached 156

Pour le développement . 157

Quand les données jouent à cache-cache .. 157

Cache par vue 157

Dans les templates .. 158

La mise en cache de bas niveau .. 158

En résumé 160

La pagination .. 161

Exerçons-nous en console .. 161

Utilisation concrète dans une vue 163

En résumé 165

L'internationalisation 165

Qu'est-ce que le i18n et comment s'en servir ? 166

Traduire les chaînes dans nos vues et modèles .. 169

Cas des modèles . 172

Traduire les chaînes dans nos templates . 172

Le tag {% trans %} 173

Le tag {% blocktrans %} .. 173

Aidez les traducteurs en laissant des notes ! . 174

Sortez vos dictionnaires, place à la traduction ! 175

Génération des fichiers .po . 175

Génération des fichiers .mo 177

Le changement de langue 177

En résumé 178

Les tests unitaires 178

Nos premiers tests .. 179

Testons des vues . 181

En résumé 183

Ouverture vers de nouveaux horizons : django.contrib 183

Vers l'infini et au-delà . 184

Dynamisons nos pages statiques avec flatpages ! . 185

Installation du module 185

Gestion et affichage des pages . 186

Lister les pages statiques disponibles 187 Rendons nos données plus lisibles avec humanize 188 apnumber . 188 intcomma .. 188 intword 188 naturalday . 189 naturaltime .. 189 ordinal . 190 En résumé 190

Partie 5 : Annexes 191

Déployer votre application en production . 191

Le déploiement .. 191

Gardez un œil sur le projet .. 193

Activer l'envoi d'e-mails . 193

Quelques options utiles… 194

Hébergeurs supportant Django . 195

En résumé 195

L'utilitaire . 196

Les commandes de base . 196

Prérequis .. 196

Liste des commandes 196

La gestion de la base de données .. 199

Les commandes d'applications . 203

Lire aussi

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 domaines suivants :

Python : bonne maîtrise des bases, de la programmation orientée objet et des expressions régulières ; HTML/CSS : maîtrise de toute la partie HTML (nous ne parlerons pas de CSS).

Si vous ne connaissez pas ces prérequis, nous ne pouvons que vous conseiller de les étudier avant d'entamer ce tutoriel.

Ce cours porte sur la version 1.5 de Django, et n'assure nullement que toutes les méthodes présentées fonctionneront forcément sur des versions antérieures ou postérieures.

Partie 1 : Présentation de Django

Cette partie est avant tout introductive et théorique. Elle a pour but d'expliquer ce qu'est Django, son fonctionnement, la gestion d'un projet, etc.

 Créez vos applications web avec Django

Si vous lisez ceci, c'est que vous avez décidé de vous lancer dans l'apprentissage de Django. Avant de commencer, des présentations s'imposent : Django est un framework web écrit en Python, qui se veut complet tout en facilitant la création d'applications web riches.

Avant de commencer à écrire du code, nous allons tout d'abord voir dans ce chapitre ce qu'est un framework en général, et plus particulièrement ce qu'est Django. Dans un second temps, nous verrons comment l'installer sur votre machine, pour pouvoir commencer à travailler ! Est-il utile de vous rappeler encore ici qu'il est nécessaire d'avoir les bases en Python pour pouvoir commencer ce cours ?

Qu'est-ce qu'un framework ?

Un framework est un ensemble d'outils qui simplifie le travail d'un développeur. Traduit littéralement de l'anglais, un framework est un « cadre de travail ». Il apporte les bases communes à la majorité des programmes ou des sites web. Celles-ci étant souvent identiques (le fonctionnement d'un espace membres est commun à une très grande majorité de sites web de nos jours), un développeur peut les réutiliser simplement et se concentrer sur les particularités de son projet.

Il s'agit donc d'un ensemble de bibliothèques coordonnées, qui permettent à un développeur d'éviter de réécrire plusieurs fois une même fonctionnalité, et donc d'éviter de réinventer constamment la roue. Inutile de dire que le gain en énergie et en temps est considérable !

Quels sont les avantages d'un framework ?

Un framework instaure en quelque sorte sa « ligne de conduite ». Tous les développeurs Django codent de façon assez homogène (leurs codes ont le même fonctionnement, les mêmes principes). De ce fait, lorsqu'un développeur rejoint un projet utilisant un framework qu'il connaît déjà, il comprendra très vite ce projet et pourra se mettre rapidement au travail.

Le fait que chaque framework possède une structure commune pour tous ses projets a une conséquence tout aussi intéressante : en utilisant un framework, votre code sera le plus souvent déjà organisé, propre et facilement réutilisable par autrui.

Voici d'ailleurs un grand défi des frameworks : bien que ceux-ci doivent instaurer une structure commune, ils doivent aussi être souples et modulables, afin de pouvoir être utilisés pour une grande variété de projets, du plus banal au plus exotique. Autrement, leur intérêt serait grandement limité !

Quels sont les désavantages d'un framework ?

Honnêtement, il n'existe pas vraiment de désavantages à utiliser un framework. Il faut bien évidemment prendre du temps à apprendre à en manier un, mais ce temps d'apprentissage est largement récupéré par la suite, vu la vitesse de développement qui peut parfois être décuplée. Nous pourrions éventuellement dire que certains frameworks sont parfois un peu trop lourds, mais il incombe à son utilisateur de choisir le bon framework, adapté à ses besoins.

Qu'est-ce que Django ?

Django est donc un framework Python destiné au web. Ce n'est pas le seul dans sa catégorie, nous pouvons compter d'autres frameworks Python du même genre comme web2py, TurboGears, CherryPy ou Zope. Il a cependant le mérite d'être le plus exhaustif, d'automatiser un bon nombre de choses et de disposer d'une très grande communauté.

 Le logo de Django

Django est né en 2003 dans une agence de presse qui devait développer des sites web complets dans des laps de temps très courts (d'où l'idée du framework). En 2005, l'agence de presse Lawrence Journal-World décide de publier Django au grand public, le jugeant assez mature pour être réutilisé n'importe où. Trois ans plus tard, la fondation Django Software est créée par les fondateurs du framework afin de pouvoir maintenir celui-ci et la communauté très active qui l'entoure.

Aujourd'hui, Django est devenu très populaire et est utilisé par des sociétés du monde entier, telles qu', Pinterest, et même la !

 Logos d'Instagram, de la NASA et

de Pinterest

Pourquoi ce succès ?

Si Django est devenu très populaire, c'est notamment grâce à sa philosophie, qui a su séduire de nombreux développeurs et chefs de projets. En effet, le framework prône le principe du « Don't repeat yourself », c'est-à-dire en français « Ne vous répétez pas », et permet le développement rapide de meilleures et plus performantes applications web, tout en conservant un code élégant.

Django a pu appliquer sa philosophie de plusieurs manières. Par exemple, l'administration d'un site sera automatiquement générée, et celle-ci est très facilement adaptable. L'interaction avec une base de données se fait via un ensemble d'outils spécialisés et très pratiques. Il est donc inutile de perdre son temps à écrire directement des requêtes destinées à la base de données, car Django le fait automatiquement. De plus, d'autres bibliothèques complètes et bien pensées sont disponibles, comme un espace membres, ou une bibliothèque permettant la traduction de votre application web en plusieurs langues.

Une communauté à votre service

Évidemment, Django dispose des avantages de tous les frameworks en général. Il est soutenu par une communauté active et expérimentée, qui publie régulièrement de nouvelles versions du framework avec de nouvelles fonctionnalités, des corrections de bugs, etc.

Encore un point, et non des moindres, la communauté autour de Django a rédigé au fil des années une documentation très complète sur . Bien que celle-ci soit en anglais, elle reste très accessible pour des francophones. Nous ne pouvons que vous conseiller de la lire en parallèle de ce cours si vous voulez approfondir un certain sujet ou si certaines zones d'ombre persistent.

Enfin, pour gagner encore plus de temps, les utilisateurs de Django ont généralement l'esprit open source et fournissent une liste de snippets, des portions de code réutilisables par n'importe qui. Un site est dédié à ces snippets. Si vous devez vous attaquer à une grosse application ou à une portion de code particulièrement difficile, n'hésitez pas à aller chercher dans les snippets, vous y trouverez souvent votre bonheur !

Téléchargement et installation

Maintenant que nous avons vu les avantages qu'apporte Django, il est temps de passer à son installation. Tout d'abord, assurezvous que vous disposez bien d'une version de Python supérieure ou égale à la 2.6.5 pour la branche 2.6.x ou à la 2.7.3 pour la branche 2.7.x et supérieure. Pour plus d'informations à ce sujet, vous pouvez vous reporter au cours sur le Python du Site du Zéro.

Django 1.5 est également compatible avec Python 3, mais de façon expérimentale : quelques modules, comme la connexion avec MySQL sont indisponibles, faute de bibliothèque compatible Python 3 Nous vous recommandons donc d'attendre Django 1.6 avant de sauter vers Python 3 pour vos applications web.

Par ailleurs, le support de Python 2.5 est abandonné depuis Django 1.5. Nous vous conseillons dès maintenant d'utiliser Python 2.7.3, qui est bien plus stable et à jour.

Il est également plus prudent de supprimer toutes les anciennes installations de Django, si vous en avez déjà. Il peut y avoir des conflits entre les versions, notamment lors de la gestion des projets. Il est essentiel de n'avoir que Django 1.5 sur votre machine, à part si vous avez déjà des applications en production sur des versions antérieures. Dans ce cas, il est conseillé soit de porter toutes vos applications pour Django 1.5, soit d'exécuter vos deux projets avec deux versions de Django bien indépendantes.

Linux et Mac OS

Sous Linux et Mac OS, l'installation de Django peut s'effectuer de deux manières différentes, soit en utilisant le gestionnaire de paquets de votre distribution (ou MacPorts pour Mac OS), soit en installant Django manuellement, via une archive officielle. Nous ne couvrirons pas la première solution, celle-ci dépendant beaucoup trop de votre distribution. Si toutefois vous choisissez cette solution, faites attention à la version de Django disponible dans les dépôts. Il se peut que ce ne soit pas toujours la dernière version qui soit disponible, donc pas à jour et incompatible avec ce cours.

Si vous ne passez pas par les dépôts, le plus simple reste de . Il suffit ensuite de l'extraire et de l'installer, en effectuant les commandes suivantes dans une console :

Code : Console

Windows

Contrairement aux environnements UNIX, l'installation de Django sous Windows requiert quelques manipulations supplémentaires. Téléchargez et extrayez-la. Avant de continuer, nous allons devoir modifier quelques variables d'environnement, afin de permettre l'installation du framework. Pour cela (sous Windows 7) :

  1. Rendez-vous dans les informations générales du système (via le raccourci Windows + Pause) ;
  2. Cliquez sur Paramètres système avancés, dans le menu de gauche ;
  3. Une fois la fenêtre ouverte, cliquez sur Variables d'environnement ;
  4. Cherchez la variable système (deuxième liste) Path et ajoutez ceci en fin de ligne (faites attention à votre version de

Python) : ;C:\Python27\;C:\Python27\Lib\site-packages\django\bin\. Respectez bien le pointvirgule permettant de séparer le répertoire de ceux déjà présents, comme indiqué à la figure suivante.

 Édition du Path sous Windows 7

Validez, puis quittez. Nous pouvons désormais installer Django via la console Windows (Windows + R puis la commande cmd )

:

Code : Console

Les fichiers sont ensuite copiés dans votre dossier d'installation Python (ici C:\Python27).

Vérification de l'installation

Dès que vous avez terminé l'installation de Django, lancez une nouvelle console Windows, puis lancez l'interpréteur Python (via la commande python ) et tapez les deux lignes suivantes :

Code : Python

Si vous obtenez également 1.5 comme réponse, félicitations, vous avez correctement installé Django !

Il se peut que vous obteniez un numéro de version légèrement différent (du type 1.5.1). En réalité, Django est régulièrement mis à jour de façon mineure, afin de résoudre des failles de sécurité ou des bugs. Tenez-vous au courant de ces mises à jour, et appliquez-les dès que possible.

Dans la suite de ce cours, nous utiliserons SQLite, qui est simple et déjà inclus dans les bibliothèques de base de Python. Si vous souhaitez utiliser un autre système de gestion de base de données, n'oubliez pas d'installer les outils nécessaires (dépendances, packages, etc.).

En résumé

Un framework (cadre de travail en français) est un ensemble d'outils qui simplifie le travail d'un développeur.

Un framework est destiné à des développeurs, et non à des novices. Un framework nécessite un temps d'apprentissage avant de pouvoir être pleinement utilisé.

Django est un framework web pour le langage Python très populaire, très utilisé par les entreprises dans le monde :

Mozilla, Instagram ou encore la NASA l'ont adopté !

Ce cours traite de la version 1.5, sortie en février 2013. Nous ne garantissons pas que les exemples donnés soient compatibles avec des versions antérieures et postérieures.

 Le fonctionnement de Django

Attaquons-nous au vif du sujet ! Dans ce chapitre, théorique mais fondamental, nous allons voir comment sont construits la plupart des frameworks grâce au modèle MVC, nous aborderons ensuite les spécificités du fonctionnement de Django et comment les éléments d'une application classique Django s'articulent autour du modèle MVT, que nous introduirons également. En dernier lieu, nous expliquerons le système de projets et d'applications, propre à Django, qui permet une séparation nette, propre et précise du code.

Au terme de ce chapitre, vous aurez une vue globale sur le fonctionnement de Django, ce qui vous sera grandement utile lorsque vous commencerez à créer vos premières applications.

Un peu de théorie : l'architecture MVC

Lorsque nous parlons de frameworks qui fournissent une interface graphique à l'utilisateur (soit une page web, comme ici avec Django, soit l'interface d'une application graphique classique, comme celle de votre traitement de texte par exemple), nous parlons souvent de l'architecture MVC. Il s'agit d'un modèle distinguant plusieurs rôles précis d'une application, qui doivent être accomplis. Comme son nom l'indique, l'architecture (ou « patron ») Modèle-Vue-Contrôleur est composé de trois entités distinctes, chacune ayant son propre rôle à remplir.

Tout d'abord, le modèle représente une information enregistrée quelque part, le plus souvent dans une base de données. Il permet d'accéder à l'information, de la modifier, d'en ajouter une nouvelle, de vérifier que celle-ci correspond bien aux critères (on parle d'intégrité de l'information), de la mettre à jour, etc. Il s'agit d'une interface supplémentaire entre votre code et la base de données, mais qui simplifie grandement les choses, comme nous le verrons par la suite.

Ensuite la vue qui est, comme son nom l'indique, la visualisation de l'information. C'est la seule chose que l'utilisateur peut voir. Non seulement elle sert à présenter une donnée, mais elle permet aussi de recueillir une éventuelle action de l'utilisateur (un clic sur un lien, ou la soumission d'un formulaire par exemple). Typiquement, un exemple de vue est une page web, ni plus, ni moins.

Finalement, le contrôleur prend en charge tous les événements de l'utilisateur (accès à une page, soumission d'un formulaire, etc.). Il se charge, en fonction de la requête de l'utilisateur, de récupérer les données voulues dans les modèles. Après un éventuel traitement sur ces données, il transmet ces données à la vue, afin qu'elle s'occupe de les afficher. Lors de l'appel d'une page, c'est le contrôleur qui est chargé en premier, afin de savoir ce qu'il est nécessaire d'afficher.

 Schéma de l'architecture MVC

La spécificité de Django : le modèle MVT

L'architecture utilisée par Django diffère légèrement de l'architecture MVC classique. En effet, la « magie » de Django réside dans le fait qu'il gère lui-même la partie contrôleur (gestion des requêtes du client, des droits sur les actions…). Ainsi, nous parlons plutôt de framework utilisant l'architecture MVT : Modèle-Vue-Template.

Cette architecture reprend les définitions de modèle et de vue que nous avons vues, et en introduit une nouvelle : le template (voir figure suivante). Un template est un fichier HTML, aussi appelé en français « gabarit ». Il sera récupéré par la vue et envoyé au visiteur ; cependant, avant d'être envoyé, il sera analysé et exécuté par le framework, comme s'il s'agissait d'un fichier avec du code. Django fournit un moteur de templates très utile qui permet, dans le code HTML, d'afficher des variables, d'utiliser des structures conditionnelles (if/else) ou encore des boucles (for), etc.

Schéma d'exécution d'une requête

Concrètement, lorsque l'internaute appelle une page de votre site réalisé avec Django, le framework se charge, via les règles de routage URL définies, d'exécuter la vue correspondante. Cette dernière récupère les données des modèles et génère un rendu HTML à partir du template et de ces données. Une fois la page générée, l'appel fait chemin arrière, et le serveur renvoie le résultat au navigateur de l'internaute.

On distingue les quatre parties qu'un développeur doit gérer :

Le routage des requêtes, en fonction de l'URL ;

La représentation des données dans l'application, avec leur gestion (ajout, édition, suppression…), c'est-à-dire les modèles ;

L'affichage de ces données et de toute autre information au format HTML, c'est-à-dire les templates ;

Enfin le lien entre les deux derniers points : la vue qui récupère les données et génère le template selon celles-ci.

On en revient donc au modèle MVT. Le développeur se doit de fournir le modèle, la vue et le template. Une fois cela fait, il suffit juste d'assigner la vue à une URL précise, et la page est accessible.

Si le template est un fichier HTML classique, un modèle en revanche sera écrit sous la forme d'une classe où chaque attribut de celle-ci correspondra à un champ dans la base de données. Django se chargera ensuite de créer la table correspondante dans la base de données, et de faire la liaison entre la base de données et les objets de votre classe. Non seulement il n'y a plus besoin d'écrire de requêtes pour interagir avec la base de données, mais en plus le framework propose la représentation de chaque entrée de la table sous forme d'une instance de la classe qui a été écrite. Il suffit donc d'accéder aux attributs de la classe pour accéder aux éléments dans la table et pouvoir les modifier, ce qui est très pratique !

Enfin, une vue est une simple fonction, qui prend comme paramètres des informations sur la requête (s'il s'agit d'une requête GET ou POST par exemple), et les paramètres qui ont été donnés dans l'URL. Par exemple, si l'identifiant ou le nom d'un article du blog a été donné dans l'URL , la vue récupérera faire-debonnes-crepes comme titre et cherchera dans la base de données l'article correspondant à afficher. Suite à quoi la vue générera le template avec le bon article et le renverra à l'utilisateur.

Projets et applications

En plus de l'architecture MVT, Django introduit le développement d'un site sous forme de projet. Chaque site web conçu avec Django est considéré comme un projet, composé de plusieurs applications. Une application consiste en un dossier contenant plusieurs fichiers de code, chacun étant relatif à une tâche du modèle MVT que nous avons vu. En effet, chaque bloc du site web est isolé dans un dossier avec ses vues, ses modèles et ses schémas d'URL.

Lors de la conception de votre site, vous allez devoir penser aux applications que vous souhaitez développer. Voici quelques exemples d'applications :

Un module d'actualités ; Un forum ;

Un système de contact ; Une galerie de photos ; Un système de dons.

Ce principe de séparation du projet en plusieurs applications possède deux avantages principaux :

 Le code est beaucoup plus structuré. Les modèles et templates d'une application ne seront que rarement ou jamais utilisés dans une autre, nous gardons donc une séparation nette entre les différentes applications, ce qui évite de s'emmêler les pinceaux !

 Une application correctement conçue pourra être réutilisée dans d'autres projets très simplement, par un simple copier/coller, comme le montre la figure suivante.

 Organisation

d'un projet Django et réutilisation d'une application

Ici, le développement du système d'articles sera fait une fois uniquement. Pour le second site, une légère retouche des templates suffira. Ce système permet de voir le site web comme des boîtes que nous agençons ensemble, accélérant considérablement le développement pour les projets qui suivent.

En résumé

Django respecte l'architecture MVT, directement inspirée du très populaire modèle MVC ;

Django gère de façon autonome la réception des requêtes et l'envoi des réponses au client (partie contrôleur) ;

Un projet est divisé en plusieurs applications, ayant chacune un ensemble de vues, de modèles et de schémas d'URL ; Si elles sont bien conçues, ces applications sont réutilisables dans d'autres projets, puisque chaque application est indépendante.

 Gestion d'un projet

Django propose un outil en ligne de commandes très utile qui permet énormément de choses :

Création de projets et applications ;

Création des tables dans la base de données selon les modèles de l'application ; Lancement du serveur web de développement ; Etc.

Nous verrons dans ce chapitre comment utiliser cet outil, la structure d'un projet Django classique, comment créer ses projets et applications, et leur configuration.

Créons notre premier projet

L'outil de gestion fourni avec Django se nomme et il n'est accessible qu'en ligne de commandes. Pour ce faire, munissez-vous d'une console MS-DOS sous Windows, ou d'un terminal sous Linux et Mac OS X.

Attention ! La console système n'est pas l'interpréteur Python ! Dans la console système, vous pouvez exécuter des commandes système comme l'ajout de dossier, de fichier, tandis que dans l'interpréteur Python vous écrivez du code Python.

Decouvrir ces documents

  • Initiation à la programmation orientée objet avec le langage Python

    Initiation à la programmation orientée objet avec le langage Python

  • Apprendre à créer des applications avec le langage de programmation Python

    Apprendre à créer des applications avec le langage de programmation Python

  • Cours sur la programmation web avec python

    Cours sur la programmation web avec python

  • Cours de programmation événementielle python

    Cours de programmation événementielle python

  • Cours de programmation python et la robotique

    Cours de programmation python et la robotique

  • Cours pour apprendre Python

    Cours pour apprendre Python

  • Python et la Programmation Orientée Objet

    Python et la Programmation Orientée Objet

  • Tutoriel général de Python

    Tutoriel général de Python

Articles connexes

  • Tutoriel Python : Notions de base
  • Comment coder pour les débutants
  • Tuto Python & Tkinter : programmation événementielle
  • Exercices sur la programmation web avec le langage PHP
  • Tutoriel Python : créer un quiz/questionnaire
  • Comment installer et utiliser Python sur Windows, MAC et Linux ?
  • Python : tout ce que vous devez savoir
  • Voici les plus fameux sites web réalisés avec Python
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02