0% ont trouvé ce document utile (0 vote)
63 vues22 pages

Formation Complète sur Django

La formation en Django, dirigée par Dr Ahmed SEJAD, couvre divers modules allant de l'introduction au framework jusqu'au déploiement d'applications. Les participants apprendront à créer des modèles, gérer des bases de données, et utiliser l'ORM de Django pour manipuler des données. Des activités pratiques sont également incluses pour renforcer l'apprentissage des concepts abordés.

Transféré par

toutouely2024
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
63 vues22 pages

Formation Complète sur Django

La formation en Django, dirigée par Dr Ahmed SEJAD, couvre divers modules allant de l'introduction au framework jusqu'au déploiement d'applications. Les participants apprendront à créer des modèles, gérer des bases de données, et utiliser l'ORM de Django pour manipuler des données. Des activités pratiques sont également incluses pour renforcer l'apprentissage des concepts abordés.

Transféré par

toutouely2024
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Formation en Django

Dr Ahmed SEJAD
[Link]@[Link]

1
PLAN

Module 1 : Introduction à Django


Module 2 : Modèles et base de données
Module 3 : Administration Django
Module 4 : Gestion des vues et des URLs
Module 5 : Les Templates dans Django
Module 6 : Gestion des formulaires et validations
Module 7 : Authentification et Autorisation
Module 8 : API REST avec Django REST Framework
Module 9 : Déploiement
2
Module 1 : Introduction à Django

3
Qu'est-ce que Django et ses avantages ?
Qu'est-ce que Django ?
Django est un Framework web de haut niveau écrit en Python, conçu pour
encourager un développement rapide et une conception propre et pragmatique.

Avantages de Django :
• ORM Puissant : Gestion automatique des bases de données, permettant de
travailler avec des objets Python au lieu de requêtes SQL.
• Sécurité : Django fournit des protections intégrées contre les attaques
courantes comme l'injection SQL, les attaques CSRF (Cross-Site Request
Forgery) et XSS (Cross-Site Scripting).

• Administration : Interface d'administration automatiquement générée et


personnalisable.
4
Qu'est-ce que Django et ses avantages ?
• Communauté et Documentation : Large communauté de développeurs et
documentation complète et bien organisée.

• Scalabilité : Utilisé par des sites à fort trafic comme Instagram et Pinterest.
• Packages Réutilisables : Grande bibliothèque de packages tiers pour étendre
les fonctionnalités.

Exemples des plateformes développées avec Django :

5
Architecture de Django (MVT : Modèle-Vue-Template)

Templates

HttpRequest
Requête URLs Views
HttpResponse

Couche de présentation
Models
Couche de logique métier
Couche d’accès aux données

6
Architecture de Django (MVT : Modèle-Vue-Template)
Modèle (Model) :
• Correspond aux données.
• Définition des structures de données et interaction avec la base de données via
l'ORM de Django.

Vue (View) :
• Gère la logique de présentation et renvoie les réponses HTTP.
• Les vues peuvent être basées sur des fonctions (Function-Based Views, FBV)
ou sur des classes (Class-Based Views, CBV).

Template :
• Système de templates de Django utilisé pour générer du HTML dynamique.
• Les templates contiennent des balises et des filtres pour afficher les données de
7
manière propre et organisée.
Installation et configuration
Installation de Python :
• Téléchargez et installez la dernière version de Python depuis [Link].
• Assurez-vous que Python est ajouté à votre PATH.
• Vérifiez l'installation avec :

Configuration d'un environnement virtuel

Installation de Django :
• Utilisez pip, le gestionnaire de paquets Python, pour installer Django.

8
Structure de projet
Création d'un nouveau projet Django

Détails des fichiers et dossiers :


1. mon_prmier_projet/ (Dossier racine)
• Fonction : Dossier principal du projet Django. Tous les fichiers et dossiers du projet se
trouvent ici.

2. [Link]
• Fonction : Un script utilitaire pour interagir avec le projet Django depuis la ligne de
commande.
• Usage : Exécuter des commandes Django, comme démarrer le serveur, effectuer des
migrations, et gérer la base de données.

Exemple : Démarrage du serveur

[Link] 9
Structure de projet
3. mon_prmier_projet /(dossier fils)
• init .py : pour reconnaître le répertoire comme un package Python
• [Link] : fichier de configuration principal du projet Django. Il contient divers éléments
essentiels pour le fonctionnement de l'application, comme :

▪ INSTALLED_APPS : liste des applications installées et activées dans le projet.

▪ MIDDLEWARE : liste des middlewares qui interceptent et traitent les requêtes et


réponses HTTP.

▪ DATABASES : configuration de la base de données (par défaut SQLite).

▪ ALLOWED_HOSTS : configurer les hôtes autorisés en production.

▪ TEMPLATES : paramètres pour les templates HTML.

▪ STATIC_URL et STATICFILES_DIRS : configuration des fichiers statiques (CSS,


JavaScript, images).

• [Link] : fichier de gestion des routes


• [Link] et [Link] : pour les serveurs web, principalement en production. 10
Structure de projet

Projet Django

Application 1 Application 2 Application 3


Models Models Models
Views Views Views
URLs URLs URLs
Templates Templates Templates

Django adopte une approche modulaire : un projet principal peut contenir plusieurs applications
indépendantes, chacune gérant une fonctionnalité spécifique. Par exemple, un projet de gestion
scolaire pourrait inclure des applications pour les étudiants, les cours et les inscriptions, ce qui
facilite la maintenance et la réutilisation des modules.
11
Structure de projet
Après avoir ajouté une application nommée myapp dans ce projet en utilisant la commande
suivante :

la structure pourrait ressembler à ceci

Enregistrer myapp dans [Link] 12


Activités 1

🎯 Objectif : Installer Django, créer un projet et une application, et comprendre la


structure d’un projet Django.

1. Installer Django et créer un projet Django


• Installer Django et utiliser la commande django-admin pour générer
un projet (plateforme_annonces).

2. Créer une application Django (annonces)


• Ajouter annonces à INSTALLED_APPS.

3. Lancer le serveur Django et afficher la page par défaut


• Vérifier que l’installation fonctionne en exécutant le serveur et en
accédant à [Link]

13
Module 2 : Modèles et base de données

BD

14
Objectif du module :
À l’issi de ce module, vous serez capable de :

• Comprendre les modèles dans Django et leur rôle


• Configurer une base de données (SQLite ou MySQL)
• Utiliser l'ORM (Object-Relational Mapping) de Django pour manipuler des
données
• Créer des relations entre différents modèles
• Pratiquer la création de modèles en développant un modèle de blog avec
des articles et des catégories

15
Comprendre les modèles dans Django
Qu'est-ce qu'un modèle ?
• Les modèles dans Django représentent les tables de la base de données et
définissent la structure des données.
• Chaque modèle est une classe Python qui hérite de [Link].
• Django convertit automatiquement chaque modèle en une table dans la base
de données.
• Principaux attributs d'un modèle : CharField, TextField, IntegerField,
DateTimeField, BooleanField, etc., qui définissent le type de données
stockées.
Exemple de modèle :

NB : Si aucune clé primaire n'est spécifiée, Django génère automatiquement un


15
champ id comme clé primaire avec un incrément automatique.
Configuration d'une base de données (SQLite, MySQL)
Choix de la base de données
• Par défaut, Django utilise SQLite, qui est une base de données légère idéale
pour le développement et les tests.
• Pour les environnements de production, il est recommandé d'utiliser une
base de données plus robuste, comme PostgreSQL ou MySQL.

Configurer SQLite (par défaut)

La configuration par défaut de SQLite est dans le fichier [Link] :

17
Configuration d'une base de données (SQLite, MySQL)
Configurer MySQL:
Ajouter les informations de connexion MySQL dans [Link] :

Installez mysqlclient pour permettre à Django de se connecter à MySQL. Vous pouvez le


faire en exécutant la commande suivante : pip install mysqlclient.

Après avoir créer votre BD et pour que Django applique ces modèles dans la base de
NB : données, vous devez créer et appliquer les migrations :
• python [Link] makemigrations
18
• python [Link] migrate
ORM de Django : Création, lecture, mise à jour, suppression (CRUD)
• L'ORM (Object-Relational Mapping) de Django permet de manipuler la base de données via du
code Python sans écrire de requêtes SQL.
• Les actions CRUD (Create, Read, Update, Delete) sont des opérations de base pour interagir
avec les données. Tapez dans le terminal python [Link] shell puis exécuter les requêtes
suivantes :

19
Relations entre les modèles (One-to-One, One-to-Many, Many-to-Many)
Types de relations entre modèles :
• One-to-One (un à un) : une relation dans laquelle chaque enregistrement d'un modèle est lié à
un seul enregistrement d'un autre modèle.
• One-to-Many (un à plusieurs) : une relation dans laquelle un enregistrement d'un modèle est lié
à plusieurs enregistrements d'un autre modèle. Exemple : un article peut appartenir à une seule
catégorie, mais une catégorie peut avoir plusieurs articles.
• Many-to-Many (plusieurs à plusieurs) : une relation dans laquelle plusieurs enregistrements
d'un modèle peuvent être liés à plusieurs enregistrements d'un autre modèle. Exemple : un article
peut avoir plusieurs tags, et chaque tag peut être associé à plusieurs articles.
Exemple : One-to-One (Article et ArticleDetail ) :

20
Relations entre les modèles (One-to-One, One-to-Many, Many-to-Many)
Exemple : One-to-Many (Article et Catégorie) :

Exemple : Many-to-Many (Article et Tag) :

21
Activités 2

🎯 Objectif : Définir les modèles Catégorie et Annonce, et préparer la base de


données avec des migrations.

1. Créer le modèle Catégorie


• Un modèle permettant de stocker des catégories (ex : Électronique,
Immobilier...).

2. Créer le modèle Annonce


• Un modèle qui contient des informations sur les annonces : titre,
description, prix, image, catégorie, statut (En attente, Validée et
Rejetée).
• Ajouter une relation avec Catégorie pour organiser les annonces.

3. Effectuer les migrations de la base de données


• Makemigrations
22
• migrate

Vous aimerez peut-être aussi