Django : des bases jusqu'à la mise en ligne sur un serveur
Vues, templates, modèles, formulaires, authentification, fichiers et mise en ligne
- Professeur : aucun pour le moment
- Intermédiaire
- 0 étudiants
À propos de ce cours
La formation Django complète, des bases jusqu'à la mise en ligne : mise en place du projet (environnement virtuel, pip, startproject, runserver), vues, URL et templates (héritage, filtres, fichiers statiques), modèles, migrations et administration, relations entre modèles (ForeignKey, ManyToMany, OneToOne), formulaires HTML, forms.Form et ModelForm, champs, widgets et validateurs, vues basées sur les classes, l'ORM et le QuerySet, l'authentification (connexion, mots de passe, inscription), les astuces du quotidien (messages, pagination, permissions, tests), les fichiers (images, vidéos, PDF, Word, Excel, PowerPoint) et la mise en ligne sur un serveur (gunicorn, Nginx, HTTPS). Un quiz à la fin de chaque chapitre, des exercices de code, et des devoirs corrigés par le professeur pour construire et publier un blog complet. Prérequis : les bases de Python.
Programme · 139 leçons
Django 1 · Mettre en place un projet Django
- Présentation de la formation et objectifs pédagogiques · Texte aperçu gratuit
- Création de l'environnement virtuel pour Python · Texte
- Installation de Django avec pip et gestion des dépendances · Texte
- Création du fichier requirements.txt et résolution des erreurs courantes · Texte
- Création d'un projet Django depuis la ligne de commande · Texte
- Comprendre la structure d'un projet Django · Texte
- Quiz : Mettre en place un projet Django · Quiz
Django 2 · Serveur de développement, vues, templates et applications
- Lancer le serveur de développement Django · Texte
- Configurer le projet dans l'IDE PyCharm · Texte
- Gestion des chemins d'URL et présentation du paramètre APPEND_SLASH · Texte
- Créer une vue et l'associer à un chemin d'URL · Texte
- Créer et intégrer un template HTML · Texte
- Insérer et afficher des données dans un template · Texte
- Créer une application et définir ses propres URL · Texte
- Développer les vues principales du blog et des articles · Texte
- Ajouter un fichier CSS pour la mise en forme du site · Texte
- Exercice : simuler APPEND_SLASH · Exercice de code
- Quiz : Serveur de développement, vues, templates et applications · Quiz
Django 3 · Les vues, les URL et les templates en pratique
- Une première vue avec HttpResponse et render · Texte
- Les URL du projet et des applications : path et include · Texte
- Le langage des templates : variables, conditions et boucles · Texte
- Les filtres des templates · Texte
- L'héritage des templates : extends et block · Texte
- Les fichiers statiques : CSS, images et JavaScript · Texte
- Exercice : remplir un template · Exercice de code
- Quiz : Les vues, les URL et les templates en pratique · Quiz
Django 4 · Les modèles, les migrations et l'administration
- Créer un modèle · Texte
- La classe Meta et les choix · Texte
- Les migrations : makemigrations et migrate · Texte
- L'interface d'administration · Texte
- Manipuler les données dans le shell · Texte
- get_object_or_404 : afficher un objet dans une vue · Texte
- Exercice : __str__ et l'ordre par défaut · Exercice de code
- Quiz : Les modèles, les migrations et l'administration · Quiz
Django 5 · Les relations entre modèles
- ForeignKey : la relation un-à-plusieurs · Texte
- Naviguer dans une relation : related_name et _set · Texte
- ManyToManyField : la relation plusieurs-à-plusieurs · Texte
- OneToOneField : la relation un-à-un · Texte
- Optimiser les requêtes : select_related et prefetch_related · Texte
- Exercice : les articles d'un auteur · Exercice de code
- Quiz : Les relations entre modèles · Quiz
Django 6 · Les formulaires HTML classiques (sans forms.py)
- Formulaire HTML classique sans forms.py · Texte
- Notes et étapes à suivre · Texte
- Exemple : le fichier HTML et la vue · Texte
- Les options : validation, base de données et email · Texte
- Les options : page personnalisée, message de succès et erreurs · Texte
- Exercice : la validation manuelle · Exercice de code
- Quiz : Les formulaires HTML classiques (sans forms.py) · Quiz
Django 7 · Les formulaires avec forms.Form
- forms.Form avec une vue basée sur une fonction · Texte
- Les vues basées sur les classes (CBV) et les formulaires HTML · Texte
- Exemple : une View avec un formulaire HTML classique · Texte
- forms.Form avec une vue basée sur une classe (FormView) · Texte
- Exercice : nettoyer les données (cleaned_data) · Exercice de code
- Quiz : Les formulaires avec forms.Form · Quiz
Django 8 · Les formulaires basés sur les modèles (ModelForm)
- Les 3 manières de travailler avec un ModelForm · Texte
- Méthode 1 : ModelForm + CreateView / UpdateView (recommandé) · Texte
- Méthode 2 : modèle + fields (sans forms.py) · Texte
- Méthode 3 : ModelForm + vue fonctionnelle (FBV) · Texte
- Le fichier HTML d'un ModelForm · Texte
- Quiz : Les formulaires basés sur les modèles (ModelForm) · Quiz
- Devoir : le modèle et le formulaire des articles du blog · Devoir noté
Django 9 · Champs, options, widgets et validateurs
- Les champs d'un formulaire ou d'un modèle · Texte
- Les options d'un champ de formulaire · Texte
- Les widgets · Texte
- Les attributs HTML dans attrs · Texte
- Les validateurs (validators) · Texte
- Les paramètres d'IntegerField et de FloatField · Texte
- Les paramètres de DecimalField, BooleanField et DateTimeField · Texte
- Exercice : les règles d'un DecimalField · Exercice de code
- Quiz : Champs, options, widgets et validateurs · Quiz
Django 10 · Les vues basées sur les classes (CBV)
- La vue View · Texte
- La vue TemplateView · Texte
- La vue ListView · Texte
- La vue CreateView · Texte
- La vue DetailView · Texte
- Exemple complet : un CRUD minimal (modèle, formulaire, vues, URLs) · Texte
- Exemple complet : les pages HTML · Texte
- Le slug et la méthode get_object avec DetailView · Texte
- Les vues UpdateView, DeleteView et FormView · Texte
- Exercice : fabriquer un slug · Exercice de code
- Quiz : Les vues basées sur les classes (CBV) · Quiz
- Devoir : les pages du blog avec les vues basées sur les classes · Devoir noté
Django 11 · L'ORM : relations et QuerySet
- Accès aux contenus : les relations · Texte
- Les principales méthodes du QuerySet · Texte
- Les fonctions F et Q · Texte
- Les signaux (signals) · Texte
- Exercice : filtrer et trier comme un QuerySet · Exercice de code
- Quiz : L'ORM : relations et QuerySet · Quiz
Django 12 · L'authentification avec des vues fonctions
- Les fichiers à importer et la connexion · Texte
- La déconnexion et le changement de mot de passe · Texte
- La réinitialisation du mot de passe · Texte
- Quiz : L'authentification avec des vues fonctions · Quiz
Django 13 · L'authentification avec les vues de Django
- Les vues de connexion basées sur les classes · Texte
- Les URL, vues et templates fournis par Django · Texte
- Les templates de l'authentification · Texte
- Les redirections après connexion et déconnexion · Texte
- Exercice : la page après connexion · Exercice de code
- Quiz : L'authentification avec les vues de Django · Quiz
Django 14 · L'inscription des utilisateurs
- L'inscription avec une vue basée sur une fonction · Texte
- L'inscription avec une vue basée sur une classe · Texte
- UserCreationForm et AuthenticationForm · Texte
- Exercice : vérifier deux mots de passe · Exercice de code
- Quiz : L'inscription des utilisateurs · Quiz
- Devoir : l'inscription et la connexion du blog · Devoir noté
Django 15 · Récapitulatif de l'authentification et projet
- Les outils de l'authentification Django · Texte
- GitHub : publier son projet · Texte
- Créer une page d'inscription : les différentes méthodes · Texte
- Projet : créer un blog · Texte
- Exercice : un décorateur comme login_required · Exercice de code
- Quiz : Récapitulatif de l'authentification et projet · Quiz
- Devoir final : le blog complet · Devoir noté
Django 16 · Astuces et bonnes pratiques
- Les messages : informer l'utilisateur · Texte
- La pagination · Texte
- Les permissions : qui a le droit de faire quoi ? · Texte
- Les pages d'erreur personnalisées · Texte
- Les context processors et les filtres personnalisés · Texte
- Les tests automatiques · Texte
- Exercice : découper en pages · Exercice de code
- Quiz : Astuces et bonnes pratiques · Quiz
Django 17 · Les fichiers : images, vidéos, PDF, Word, Excel et PowerPoint
- Recevoir des fichiers : FileField, ImageField et MEDIA · Texte
- Contrôler les fichiers reçus · Texte
- Les vidéos · Texte
- Les PDF : afficher, télécharger et créer · Texte
- Word, Excel et PowerPoint · Texte
- Protéger les fichiers · Texte
- Exercice : vérifier un fichier envoyé · Exercice de code
- Quiz : Les fichiers : images, vidéos, PDF, Word, Excel et PowerPoint · Quiz
- Devoir : des images et des fichiers dans le blog · Devoir noté
Django 18 · Mettre son site en ligne sur un serveur
- Du serveur de développement à la production · Texte
- Préparer le projet : .env, DEBUG et ALLOWED_HOSTS · Texte
- Les fichiers statiques, requirements.txt et .gitignore · Texte
- Louer un serveur et s'y connecter · Texte
- Installer le projet sur le serveur · Texte
- gunicorn et le service systemd · Texte
- Nginx et le certificat HTTPS · Texte
- Mettre à jour le site et faire des sauvegardes · Texte
- Exercice : prêt pour la production ? · Exercice de code
- Quiz : Mettre son site en ligne sur un serveur · Quiz
- Dernier devoir : mettre le blog en ligne · Devoir noté
Avis des étudiants
Aucun avis pour le moment.