[Plan du site]
Vous êtes ici ---
> Le Site du Zéro
> Les tutoriels
> Non-Officiels
> Programmation
> Python
> Django de zéro : vos projets Python sur le Web ! > Débutons avec Django > Créer des applications Django, mise en place et ébauche de code
> Lecture du tutoriel
Créer des applications Django, mise en place et ébauche de code
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Nous avons précédemment abordé la notion de projet, ici nous allons aborder la notion d'application, déjà introduite, je vous l'accorde, mais pas dans ses détails ! Au programme donc, la découverte d'une application Django, comment se compose-t-elle, comment en créer une, etc. Nous verrons ensuite un début de code, une ébauche de modèle, puis pour finir, comment dire à notre projet que telle application en fait partie.
Encore un chapitre centré sur la découverte et la mise en place du plan de travail avant de s'attaquer aux choses des grands. Bref, bonne lecture !
Revenons-en à la notion d'application, déjà évoquée dans le précédent chapitre. Prenons l'exemple d'un site que vous allez développer avec Django, le projet est le site et les applications sont tout ce qu'il y a sur ce site : système de news, de sondages, compteur de visites, etc. Vous saviez déjà ce que c'était mais bon, je le rappelle... D'ailleurs, revoilà le schéma expliquant la notion projet / applications :
Les applications Django ont la particularité d'être faites pour être portables, c'est-à-dire qu'indépendamment de votre projet actuel, elles pourront être réutilisées dans un autre. Très pratique me direz-vous ! Admettons, vous faites une application, un système de news pour un site X, votre copain fait un site Y, vous pouvez lui passer votre application. Il me semblait important de souligner cette portabilité.
Ajouter une application à son projet
Bien, j'espère que vous êtes toujours dans le dossier
monprojet avec la console, sinon, un petit coup de
cd s'impose, je vous laisse aller voir dans le précédent chapitre. Bon, on y va, une application se crée à partir de la commande suivante quand on est dans le dossier de son projet :
Code : Console | python manage.py startapp monapplication |
Comme précisé dans le précédent chapitre, c'est le fichier
manage.py qui va nous permettre d'effectuer des actions sur notre projet : créer des applications en est une et nous en découvrirons d'autres tout au long du tutoriel.
Le monapplication est à remplacer par le nom que vous souhaitez, c'est un nom d'exemple donné dans la continuité de monprojet, pour découvrir tout ce petit monde.
Cette commande a créé dans notre dossier
monprojet un autre dossier, le dossier
monapplication qui se révèle être notre application. Une application est donc un dossier dans notre projet, pour la portabilité, pour revenir brièvement là-dessus, on archive le dossier et on envoie : rapide et efficace.
À l'inverse du projet où un seul doit être créé, vous pouvez faire autant d'applications que vous voulez.
Comment et de quoi se compose une application
Nous allons voir, de la même façon que pour un projet comment se compose une application Django, l'architecture et les différents fichiers. Normalement, vous avez tapé la commande ci-dessus dans la console. En conséquent, un dossier
monapplication a été créé dans le dossier de votre projet, c'est-à-dire le dossier
monprojet.
- monapplication : le dossier contenant votre application. Ce dossier est lui-même dans le dossier monprojet. Il contient les fichiers indiqués ci-dessous ;
- __init__.py : c'est le fichier qui dit à Python que le dossier monapplication doit être considéré comme un paquetage Python. C'est le même principe que pour le fichier dans le dossier monprojet ;
- models.py : comme le nom du fichier l'indique, nous définirons ici le modèle de notre application (référence à l'architecture MVC, introduite dans le premier chapitre). Ce fichier sera introduit un peu plus loin dans ce chapitre et vu dans tous ses recoins tout au long du tutoriel, vous allez voir, il y a des choses à dire sur lui !
- views.py : à l'instar du fichier models.py pour les modèles, ce fichier sera notre vue, encore une fois, faisant référence à l'architecture MVC. Nous découvrirons ce fichier un peu plus tard, il ne nous intéressera pas au début du tutoriel.
Nous allons ici découvrir le fichier
models.py, le modèle de notre application, faisant référence à la structure de nos données. Nous allons nous concentrer sur ce fichier une bonne partie du début du tutoriel, vous allez voir, il est rempli de bonnes surprises, plus spectaculaires les unes que les autres !
Je vais ici vous montrer la structure
initiale de ce fichier, comment est-il composé, que l'on puisse aborder la suite sans trop de difficultés. Mieux vaut y aller doucement et sûrement que vite et mal. Allez, ouvrez le fichier qui se trouve dans le dossier
monapplication et découvrons.
Découverte du fichier, ébauche de code
Bien, le fichier est à présent ouvert dans votre éditeur de texte favori, voilà ce que vous devez avoir devant les yeux :
Code : Python1
2
3 | from django.db import models
# Create your models here.
|
La première ligne,
from django.db import models
, importe le module de gestion des modèles de Django, cette ligne est obligatoire, à laisser dans le fichier donc, elle y est par défaut, donc pas de souci normalement.
Nous allons à présent à la place du commentaire créer une ébauche de modèle. Comme annoncé dans le premier chapitre, Django se base pour ses modèles sur la POO, nous allons donc créer des classes et autres. Un modèle se créé de la façon suivante :
Code : Python1
2
3
4
5
6
7 | from django.db import models
class MonModule(models.Model):
pass
class MonModule2(models.Model):
pass
|
Des petites explications s'imposent, à l'intérieur même d'une application, par exemple, un système de news, il y a plusieurs modules : la gestion des catégories et la gestion des news. Nous allons donc dans une application créer autant de classe que de module, avec pour le nom de la classe, le nom du module. Pour reprendre le précédent exemple, une classe
Categories pour les catégories et une classe
News pour les news.
Les classes de nos modèles se composeront toujours de la sorte, gardez bien cette structure en tête, elle vous sera utile pour le prochain chapitre où nous irons un peu plus loin dans les modèles.
Ça ne vous sera pas utile forcément tout de suite, mais bon, il faut bien en parler à un moment ou un autre, et ce n'est pas bien compliqué quand on a compris le truc. Donc, quand on crée une application Django, ce n'est pas pour autant qu'elle est reliée ou intégrée, comme vous préférez, au projet. C'est-à-dire qu'il va falloir dire à Django : il y a telle application qui fait partie du projet. Il faudra donc à chaque nouvelle application faire la démarche expliquée ci-dessous.
Nous allons donc ouvrir le fichier
settings.py, rappelez-vous, le fichier précédemment étudié, celui permettant de configurer notre projet. Nous n'avions pas découvert tout le code, ça va être l'occasion de venir sur un morceau encore non étudié. Le code nous intéressant est celui se trouvant tout en bas du fichier, précisément :
Code : Python1
2
3
4
5
6 | INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
)
|
Se trouvent ici toutes les applications installées, il y en a par défaut qui sont installées en même temps que le projet : application pour la gestion des utilisateurs, pour la gestion des sessions, des sites, etc. Il va falloir ajouter notre application à ce tuple, sous le même modèle que les autres, c'est-à-dire de la façon suivante :
Code : Python1
2
3
4
5
6
7 | INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'monprojet.monapplication',
)
|
Voilà, vous savez rattacher des applications à un projet. Ça se fera de la même manière pour les autres applications de votre projet.
Voilà, nous avons vu toutes les bases nécessaires pour bien débuter cette aventure. J'espère que ça vous aura donné envie de poursuivre le tutoriel qui vous réserve encore bien des surprises. Allez, on y va, attaquons-nous dans le prochain chapitre au fichier
models.py !