Cours Django fondamentaux : créer un site web avec Python
Django fondamentaux est un cours de niveau intermédiaire de 5 leçons (environ 3 h 34), avec 16 exercices et 15 questions de quiz. Prérequis : Python intermédiaire (fonctions, modules, POO), Modélisation de bases de données. Le cours demande un environnement de projet complet, prévu dans une phase ultérieure de la plateforme.
- Python pour le web
- Intermédiaire
- 5 leçons
- 3 h 34
- 16 exercices
- Environnement de projet complet (phase 2)
Le cours en bref
Ce cours présente les briques essentielles de Django, le framework web Python le plus complet. Tu crées un projet, routes des URL vers des vues, modélises des données avec l'ORM et les migrations, construis des pages avec les gabarits, puis traites des formulaires et personnalises l'interface d'administration. Les exercices reproduisent la logique en Python pur, les tâches se réalisent avec le vrai Django.
Ce que tu sauras faire
- Créer un projet Django structuré en applications et router des URL vers des vues
- Modéliser des données avec les champs et relations de l'ORM et gérer les migrations
- Interroger, filtrer et agréger les données avec les QuerySets
- Construire des pages avec render, le langage de gabarits et l'héritage de gabarits
- Valider des formulaires (Form, ModelForm) avec CSRF et personnaliser l'administration
Programme des 5 leçons
- Créer un projet Django et une application, et comprendre leur rôle respectif
- Écrire une vue fonction et la relier à une URL avec path() et include()
- Comprendre le cycle requête → URL → vue → réponse et l'architecture MTV
- 02
Modèles et migrations
- Décrire des données avec un modèle Django et choisir les bons types de champs
- Relier deux modèles avec ForeignKey et choisir on_delete
- Créer et appliquer des migrations, et lire le SQL généré
- 03
Interroger les données avec l'ORM
- Créer, lire, modifier et supprimer des objets avec l'ORM
- Filtrer et trier avec filter, exclude, get, order_by et les lookups (__gte, __icontains...)
- Comprendre l'évaluation paresseuse des QuerySets et agréger des données
- 04
Vues et gabarits (templates)
- Construire une page avec render(), un contexte et un gabarit
- Utiliser le langage de gabarits : variables, filtres, {% for %}, {% if %}, {% url %}
- Factoriser la mise en page avec l'héritage de gabarits et gérer les 404
- 05
Formulaires et interface d'administration
- Activer et personnaliser l'interface d'administration de Django
- Créer des formulaires avec forms.Form et ModelForm, et valider les données
- Traiter un formulaire dans une vue avec le jeton CSRF et le modèle Post/Redirect/Get
Projet final
Site vitrine dynamique avec back-office
Réalise avec Django le site d'une petite entreprise (artisan, association ou boutique) : pages publiques générées depuis la base (prestations ou produits par catégorie, page détail par slug, recherche), un gabarit de base commun, un formulaire de contact ou de devis enregistré en base, et un back-office d'administration personnalisé pour que le client gère son contenu sans développeur.
Livrables
- Un projet Django avec au moins deux applications (contenu et contact) et leurs migrations
- Des gabarits utilisant l'héritage, {% url %} et les fichiers statiques
- Un ModelForm de contact ou de devis avec validation personnalisée
- Une configuration d'admin (list_display, filtres, recherche) et un README d'installation
Critères d'évaluation
- Les modèles utilisent des types de champs adaptés, des relations avec on_delete réfléchi et des migrations propres
- Les URL sont nommées et aucune URL n'est écrite en dur dans les gabarits
- Les vues gèrent les 404 et ne contiennent pas de logique de présentation
- Les formulaires sont validés côté serveur, protégés par CSRF et suivent Post/Redirect/Get
- L'administration permet de gérer tout le contenu de façon confortable
Questions fréquentes
Quels prérequis pour apprendre Django ?
Une bonne base de Python (fonctions, classes, modules) et des notions de bases de données relationnelles : tables, clés primaires et étrangères. Des bases de HTML aident pour les gabarits.
Quelle version de Django est utilisée ?
Le cours s'appuie sur Django 6.1, la dernière version stable. Les notions présentées sont les mêmes dans Django 5.2 LTS, la version à support long terme.
Django ou Flask, FastAPI ?
Django fournit tout ce qu'il faut pour une application web complète (ORM, administration, authentification, formulaires). Flask et FastAPI sont plus légers et laissent choisir chaque brique ; FastAPI est spécialisé dans les API.
Que vais-je construire ?
Un catalogue de produits avec pages publiques, recherche, formulaire de contact et back-office d'administration, puis un projet final de blog ou de site vitrine dynamique.
Ce cours, raconté pour ton métier
Dis ce que tu veux savoir faire : « Django fondamentaux » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.