- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Jusqu'à présent, dans notre projet Django, on a uniquement travaillé au niveau du projet directement.Ce qu'on va pouvoir faire également dans un projet Django, c'est créer ce qu'on appelle des applications.
00:00:12 :Alors pourquoi est-ce qu'on a besoin de créer des applications ?Eh bien l'intérêt d'une application, c'est de pouvoir séparer les choses.Il est rare dans un site internet qu'on ait une seule entité.
00:00:22 :Généralement, on va avoir une partie par exemple pour un blog,une partie qui va gérer les utilisateurs, ou une partie par exemple sur docstring pour gérer les formations du site.
00:00:31 :Chacune de ces parties peut disposer de sa propre application.Et il n'y a pas de règle pour ça, c'est à vous de définir le nombre d'applications dont vous allez avoir besoinet ce qu'elles vont faire à l'intérieur de votre projet.
00:00:43 :On pourrait très bien tout faire directement à l'intérieur du projet sans avoir besoin de créer d'application.Mais en général, c'est plus clair de séparer les choses.
00:00:52 :Chacune de vos applications va pouvoir gérer ses propres modèles, ses propres vues et ses propres chemins d'URL.Une application, c'est aussi intéressant parce qu'on va pouvoir la réutiliser.
00:01:02 :Si vous avez par exemple plusieurs projets qui ont une partie bloget que vous ne souhaitez pas recréer à chaque fois cette partie blog depuis zéro,mais réutiliser ce que vous avez fait sur un autre de vos projets,eh bien les applications vous permettent de séparer les choses en petits blocs
00:01:18 :que vous allez pouvoir réutiliser sur différents projets.Et là encore, c'est un avantage des applications.Pour l'instant dans mon projet, j'ai uniquement le dossier docblogqui contient tous les fichiers qu'on a fait jusqu'à présent,donc le fichier views, le fichier URL, etc.
00:01:33 :A l'intérieur du terminal, dans le dossier source, donc src ici,je vais utiliser manage.py pour créer une nouvelle application avec la commande startapp.Alors faites bien attention, il y a deux commandes qui sont assez similaires,il y a startproject et startapp.
00:01:49 :Dans notre cas, on ne veut pas recréer un projet, on veut créer une application.Il faut donc bien utiliser la commande startapp.Après le nom de cette commande, on va mettre le nom de l'application qu'on souhaite créer.
00:01:59 :Dans mon cas, je veux créer une application qui va gérer la partie blog de mon site,je l'appelle donc tout simplement blog.J'appuie sur entrée et si on regarde dans la hiérarchie des dossiers de PyCharm,on voit bien qu'un nouveau dossier blog a été créé.
00:02:12 :On voit également un petit point sur le dossier,qui signifie que ce dossier est considéré par PyCharm comme un package Python.Donc si j'ouvre ce dossier, on a bien effectivement le fichier init,qui signifie que ce dossier est un package Python.
00:02:25 :Donc on a plusieurs fichiers qui ont été créés à l'intérieur de ce dossier,il y en a que vous devez reconnaître, notamment le fichier views.py,
00:02:33 :qui est similaire à celui que l'on avait créé à la main à l'intérieur de notre application dogbot ici.Donc ce fichier views, c'est le fichier qui va contenir les vues de notre application blog.
00:02:43 :On a également d'autres fichiers que vous n'avez pas encore vus,notamment le fichier models.py dans lequel on va pouvoir créer des modèlespour interagir avec une base de données.
00:02:52 :Un fichier test.py qui va permettre de créer des tests unitaires pour tester notre application.Un fichier app qui ne contient pas grand chose pour l'instant,mais qui peut être utile pour gérer les configurations de votre application.
00:03:05 :Et également un fichier admin qui va nous permettre de modifier l'interface d'administrationdes modèles de notre application dans l'administration de Django.On a le fichier init donc qui est vide et qui ne contient rien.
00:03:18 :Le fichier test, je ne vous l'ai pas montré, mais il ne contient rien par défaut non plus.Et views également est vide.Donc tous ces fichiers là sont vides pour la plupart, à part le fichier apps.py
00:03:27 :qui contient une configuration de base avec le nom de l'application,mais sinon tout le reste est vide.Donc ils sont vraiment créés juste comme une base pour vous,pour que vous puissiez les remplir par la suite.
00:03:37 :On a également un dossier migration qui contient un fichier init.py, lui aussi vide.Donc c'est juste un dossier qui va contenir les migrations.Les migrations, c'est en fait des fichiers qui vont nous permettre de créer les modèlesà l'intérieur de notre base de données si on avait une base de données
00:03:51 :à utiliser sur ce projet, ce qui n'est pas le cas actuellement.Mais toutes les migrations se retrouveraient automatiquement à l'intérieur de ce dossier.Donc voilà pour la création de l'applicationet tout ce qui est contenu à l'intérieur de votre application par défaut.
00:04:03 :Il y a une dernière chose qu'il faut faire dans le fichier settings de votre projet.Donc je reviens dans DocBlog, dans settings, c'est dire à votre projet Djangoque vous souhaitez maintenant reconnaître cette applicationcomme une application qui fait partie de votre projet.
00:04:18 :Ce n'est pas suffisant d'avoir créé l'application à partir du fichier manage.py.Il faut également dans le fichier de settings, aller indiquer dans cette configuration ici,dans installed app, le fait que vous voulez inclure cette application blog dans votre projet.
00:04:33 :Donc après toutes ces applications qui sont là par défaut,qui sont des applications gérées par Django, vous allez à la ligneet il suffit de rentrer ici le nom de l'application.
00:04:42 :Donc le nom qu'on avait défini lorsqu'on a créé notre applicationqui est donc le nom du dossier ici, donc blog.Donc je mets le nom de mon application ici à la ligne dans cette listeet comme ça cette application est reconnueet ça va nous permettre par la suite d'utiliser les vues, les urls, les modèles, etc.
00:04:59 :Donc tout ce qui est contenu à l'intérieur de cette application,notamment également les templates qui vont être reconnus automatiquementgrâce notamment à cette variable appdirs qui est à trueet qui va automatiquement aller chercher dans notre dossier blogles dossiers templates et les fichiers html qui sont contenus dans ce dossier.
00:05:16 :Donc voilà comment créer une application à l'intérieur de votre projet.Comme je vous disais, vous pouvez en créer plusieurset au niveau de la cohérence, c'est à vous de voir combien vous souhaitez en créer,comment vous souhaitez séparer les choses.
00:05:29 :Là c'est vraiment de la conception, il n'y a pas de règles précises.C'est à vous de voir comment vous souhaitez organiser votre projet Django.Dans mon cas, j'ai créé cette application juste pour vous montrerquelques spécificités qu'il va falloir prendre en comptedans l'application par rapport au projet.
00:05:43 :Mais dans ce cas-ci, j'aurais pu vraiment tout faire à l'intérieur de DocBlog.J'aurais pu ne pas créer d'application et garder mes chemins d'url,mes vues que j'avais créées à l'intérieur de mon projet.
00:05:53 :Mais on peut également créer une application à côté pour gérer tout ça.Ce qu'il faut bien comprendre ici, c'est que tout ça, ce ne sont que des fichiers Python.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.