- 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 :Maintenant qu'on a créé le code de notre premier modèle, on va devoir créer les migrations etcréer ces migrations dans la base de données. Donc je vais retourner dans mon terminal et vous
00:00:10 :allez voir qu'on a quelque chose en plus à installer. Je vais déjà faire la commandepython-manage.py make-migrations pour vous montrer le message que l'on a actuellement et ce message
00:00:19 :en fait c'est tout simplement qu'on doit installer Pillow parce que quand on a un image field ici,un champ pour gérer des images, et bien Django va utiliser la bibliothèque Pillow qui permetde gérer les images avec Python et donc il faut l'installer. Donc tout est indiqué ici,
00:00:35 :il suffit de lire le message d'erreur qu'on a. Donc on va installer Pillow en faisant pip installPillow comme ceci. Assurez-vous de bien avoir activé votre environnement virtuel au préalable.
00:00:45 :Donc Pillow est installé et on va en profiter pour créer le fichier requirements.txt qui vacontenir les dépendances de notre projet. Donc pip freeze et on met le symbole comme ceci pour
00:00:57 :dire qu'on souhaite freezer notre environnement donc toutes les dépendances de notre environnementdans un fichier texte et si j'utilise la commande cat pour afficher requirements.txt on voit qu'on
00:01:06 :a bien donc Django avec ses dépendances et également la bibliothèque Pillow. Donc çaça peut être pratique si vous souhaitez recréer votre environnement virtuel plus tard ou si vousdistribuez votre projet pour que vos collègues puissent également de leur côté recréerl'environnement avec les mêmes dépendances que vous. Donc maintenant qu'on a fait ça on va pouvoir
00:01:23 :relancer la commande make migrations pour créer la migration à partir du modèle qu'on a créé.Donc ça ça va créer dans ce fichier ici que je vais vous montrer tout de suite dans storemigrations ici on a une migration initiale qui va définir notre modèle. Donc si je fais un petit
00:01:39 :peu de place on voit qu'on a ici une classe migration donc tout ça c'est généré automatiquement parDjango vous le voyez ici generated by Django avec la date et l'heure et on retrouve peu ouprou ce que j'avais dans mon fichier de modèles mais exprimé en langage Django, en langage Python
00:01:54 :pour pouvoir créer ce modèle vous voyez ici create model donc pour pouvoir créer ce modèle dans labase de données. Donc nous on ne va pas toucher à ce fichier de migration c'est vraiment Django qui
00:02:04 :va créer ces fichiers et qui ensuite va s'en servir pour créer les éléments dans notre basede données. Les migrations c'est vraiment une façon en fait donc tout simplement d'avoir un
00:02:13 :historique de tous les changements qu'on fait sur nos modèles que ce soit au moment de lacréation comme on l'a fait ici mais également après quand on va les modifier si j'enlève unchamp ou que je rajoute un champ et bien tout ça ça va être répertorié dans ces migrations et
00:02:26 :c'est un peu comme un historique si vous voulez de tous les changements qui ont été apportés aumodèle de notre base de données. Ça nous permet ainsi de là encore passer notre travail à d'autres
00:02:35 :collègues qui pourraient recréer en partant de zéro la base de données à partir de ces fichiers demigration. Donc maintenant il va falloir appliquer toutes ces migrations dans la base de données si
00:02:45 :je viens voir dans mon projet ici vous devriez voir un fichier SQLite 3 qui représente votrebase de données et pour l'instant la base de données elle ne contient aucun schéma et donc onva devoir utiliser une autre commande la commande migrate donc python manage.py migrate et la première
00:02:59 :fois que vous allez la faire vous voyez qu'il y a pas mal de choses qui sont ici qui sont appliquéesen fait dans notre base de données donc ça en fait ça correspond à tout ce qu'on avait dansle fichier de settings à toutes les applications de base si je reviens dans settings.py. Si vous
00:03:13 :vous souvenez bien dans install.dass on a par défaut pas mal d'applications ici qui nouspermettent de gérer les autorisations, l'admin donc tout ce qui est l'interface d'administration,les messages, les sessions etc. Donc ça c'est des migrations qui sont appliquées automatiquement
00:03:27 :la première fois que vous le faites et on retrouve également notre migration avec lestore et 001 initial ici qui est la migration que l'on avait créé. Donc pour vérifier tout ça je
00:03:36 :vais ouvrir un logiciel que je vous conseille d'installer pour les bases de données quis'appelle tableplus. La version gratuite suffit amplement et ça va vous permettre d'inspecter
00:03:45 :facilement votre base de données. Donc je vais créer une nouvelle connexion en faisant un clicdroit new et on va ouvrir une base de données de type SQLite. Je clique sur create et on va
00:03:54 :lui donner un nom donc on va l'appeler docshop tout simplement. On va aller chercher le fichiersur le disque donc qui va se retrouver sur mon disque dur dans docshop et on a notre base dedonnées ici donc je l'ouvre et normalement c'est tout ce dont on a besoin donc on va cliquer sur
00:04:08 :connect pour se connecter à notre base de données et on retrouve ici donc toutes les tables quicorrespondent aux migrations qui ont été appliquées. Donc on a bien les tables avec le nom de l'application
00:04:18 :en premier donc on a hot, on a django admin, on a l'immigration également qui va en fait être unetable qui répertorie toutes les migrations qui ont déjà été appliquées. Donc là on retrouve
00:04:27 :exactement la même chose que ce que l'on avait ici donc toutes ces migrations qui ont été appliquéeset bien django va s'en souvenir ici de sorte à ce que si on refait la commande migrate cette fois-ciet bien il va me dire qu'il n'y a aucune migration à appliquer et donc ça c'est vraiment parce qu'il
00:04:41 :a sauvegardé dans sa base de données ici les migrations et leur nom qu'il peut savoir lesquellesont été appliquées ou n'ont pas encore été appliquées. On retrouve également donc la table store
00:04:50 :product qui répertorie le modèle product que l'on a créé en python avec tous les champs qu'on avaitrenseigné donc name, price, stock, description et thumbnail et on a également le champ id qui estcréé automatiquement par django et qui permet d'identifier de façon unique chaque entrée dansnotre base de données. Donc voilà pour ces migrations avec ça on a donc notre modèle product
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.