0% ont trouvé ce document utile (0 vote)
3 vues23 pages

Module 02

Ce module présente l'architecture MVT de Django, en la différenciant du modèle MVC et en expliquant le routage URL. Il aborde la définition des URLs, la création de routes, l'utilisation de paramètres dynamiques, et l'organisation des projets avec des namespaces. À la fin, les participants sont capables de créer une navigation multi-pages fonctionnelle avec des URLs dynamiques.

Transféré par

programmeur235
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)
3 vues23 pages

Module 02

Ce module présente l'architecture MVT de Django, en la différenciant du modèle MVC et en expliquant le routage URL. Il aborde la définition des URLs, la création de routes, l'utilisation de paramètres dynamiques, et l'organisation des projets avec des namespaces. À la fin, les participants sont capables de créer une navigation multi-pages fonctionnelle avec des URLs dynamiques.

Transféré par

programmeur235
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

Django - Module 2

Architecture MVT et Routage URL

Brahim Issa Hassaballah

1er mai 2026

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 1 / 23


Objectifs du module

Comprendre l’architecture MVT


Différencier MVC et MVT
Maı̂triser le routage URL
Utiliser les paramètres dynamiques
Construire une navigation multi-pages

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 2 / 23


Définition : Architecture logicielle

Une architecture logicielle est une manière d’organiser un


programme.
Elle permet de :
séparer les responsabilités
améliorer la maintenance
faciliter le développement

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 3 / 23


Architecture MVC

Model : données (base de données)


View : interface utilisateur
Controller : logique

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 4 / 23


Architecture MVT (Django)

Model : données
View : logique métier
Template : affichage HTML

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 5 / 23


Différence MVC vs MVT

Django remplace le Controller par les Views


Les Templates jouent le rôle de la View (affichage)
Django automatise beaucoup de tâches

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 6 / 23


Définition : URL

Une URL (Uniform Resource Locator) est l’adresse d’une ressource


web
Exemple :
http ://[Link] :8000/employes/

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 7 / 23


Définition : Routage

Le routage consiste à associer une URL à une vue


Exemple :
/employes → fonction afficher employes()

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 8 / 23


Structure [Link] (projet)

from django . contrib import admin


from django . urls import path , include

urlpatterns = [
path ( ’ admin / ’ , admin . site . urls ) ,
path ( ’ ’ , include ( ’ employes . urls ’) ) ,
]

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 9 / 23


Structure [Link] (app)

from django . urls import path


from . import views

urlpatterns = [
path ( ’ ’ , views . accueil ) ,
]

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 10 / 23


Définition : path()

Fonction qui définit une route


Syntaxe :
path(’url/’, vue)

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 11 / 23


Définition : include()

Permet de séparer les routes par application


Facilite l’organisation du projet

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 12 / 23


Paramètres dynamiques

Permet de passer des valeurs dans l’URL


Exemple :
/employe/1/

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 13 / 23


Exemple dynamique

path ( ’ employe / < int : id >/ ’ , views . detail )

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 14 / 23


Vue correspondante

def detail ( request , id ) :


return HttpResponse ( f " E m p l o y n u m r o { id }")

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 15 / 23


Définition : Namespace

Permet d’éviter les conflits de noms


Utile dans les grands projets

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 16 / 23


Namespace exemple

app_name = " employes "

urlpatterns = [
path ( ’ ’ , views . accueil , name = ’ home ’) ,
]

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 17 / 23


TP : Suite Gestion RH

Objectif :
Créer plusieurs pages
Ajouter navigation
Utiliser paramètres dynamiques

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 18 / 23


Étape 1 : vues

from django . http import HttpResponse

def accueil ( request ) :


return HttpResponse (" Accueil RH ")

def liste_employes ( request ) :


return HttpResponse (" Liste des e m p l o y s ")

def detail_employe ( request , id ) :


return HttpResponse ( f " E m p l o y { id }")

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 19 / 23


Étape 2 : urls

from django . urls import path


from . import views

urlpatterns = [
path ( ’ ’ , views . accueil ) ,
path ( ’ employes / ’ , views . liste_employes ) ,
path ( ’ employe / < int : id >/ ’ , views . detail_employe ) ,
]

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 20 / 23


Test

http ://[Link] :8000/


http ://[Link] :8000/employes/
http ://[Link] :8000/employe/1/

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 21 / 23


Résultat

Navigation fonctionnelle
URL dynamique maı̂trisée
Projet RH évolue progressivement

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 22 / 23


Conclusion Module 2

Compréhension MVT
Maı̂trise du routage
Utilisation des paramètres dynamiques
Projet prêt pour base de données (Module 3)

Brahim Issa Hassaballah Django - Module 2 1er mai 2026 23 / 23

Vous aimerez peut-être aussi