Programmation

Django : des bases jusqu'à la mise en ligne sur un serveur

Vues, templates, modèles, formulaires, authentification, fichiers et mise en ligne

  • Teacher : none yet
  • Intermediate
  • 0 students

About this course

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.

Syllabus · 139 lessons

Django 1 · Mettre en place un projet Django

  • Présentation de la formation et objectifs pédagogiques · Texte free preview
  • 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 · Code exercise
  • 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 · Code exercise
  • 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 · Code exercise
  • 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 · Code exercise
  • 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 · Code exercise
  • 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) · Code exercise
  • 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 · Graded assignment

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 · Code exercise
  • 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 · Code exercise
  • Quiz : Les vues basées sur les classes (CBV) · Quiz
  • Devoir : les pages du blog avec les vues basées sur les classes · Graded assignment

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 · Code exercise
  • 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 · Code exercise
  • 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 · Code exercise
  • Quiz : L'inscription des utilisateurs · Quiz
  • Devoir : l'inscription et la connexion du blog · Graded assignment

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 · Code exercise
  • Quiz : Récapitulatif de l'authentification et projet · Quiz
  • Devoir final : le blog complet · Graded assignment

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 · Code exercise
  • 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é · Code exercise
  • Quiz : Les fichiers : images, vidéos, PDF, Word, Excel et PowerPoint · Quiz
  • Devoir : des images et des fichiers dans le blog · Graded assignment

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 ? · Code exercise
  • Quiz : Mettre son site en ligne sur un serveur · Quiz
  • Dernier devoir : mettre le blog en ligne · Graded assignment

Student reviews

No reviews yet.