Aller au contenu principal

Formation Django - Développements Web en Python

  • 4 jours (28 heures)
  • Perfectionnement
  • Présentiel ou classe à distance

Une formation proposée par

Objectifs

A l'issue de cette formation, vous serez capable de :

  • Prendre en main le framework Django
  • Construire un site Web
  • Fournir une API REST utilisable pour les clients mobiles / front
  • Personnaliser Django pour votre besoin
  • Tester et déployer votre site en production.
Les compétences visées par cette formation font l'objet d'une évaluation.

À qui s'adresse cette formation ?

Développeurs Web et chefs de projets.

Prérequis

Avoir des notions en Python ou bien dans un langage récent de programmation. Des notions en HTML / CSS / JavaScript est un plus.

Programme

1 Pendant votre formation

Django - Développements Web en Python

Jour 1 - Prise en main de DjangoMatin

Introduction Python et Django

  • Programmer en Python
  • Historique de Django
  • Traitement d'une requête HTTP
  • Structure d'un projet Django
    • Fichiers
    • settings.py
    • Pattern MVT (Model View Template)
  • Naviguer dans la documentation de Django
  • Gérer un projet Django en CLI

Exemples de travaux pratiques (à titre indicatif)

  • Initialiser un environnement Django et configurer le serveur de développement local
    • Installer Django dans un environnement virtuel Python (via virtualenv ou venv)
    • Initialiser un projet Django, puis lancer le serveur de développement pour afficher une vue simple répondant à une requête HTTP avec un message "Hello, Django"

Après-midi

URL et vues

  • Routing des requêtes avec urls.py
  • Pattern matching dans les URL
  • Isolation des routes par application Django
  • Vues et réponse HTTP
  • Objets "requête / réponse"

Exemples de travaux pratiques (à titre indicatif)

  • Configurer le routage URL avec urls.py et créer des vues fonctionnelles
    • Créer une application Django avec des routes dynamiques qui gèrent des paramètres dans les URLs
    • Implémenter des vues fonctionnelles pour afficher des articles avec une URL du type /blog/<int:id>/

Templates

  • Charger un template dans une vue
  • Tags et filtres
  • Héritage de template
  • Ressource statique dans un template
  • Définir un tag / filtre personnalisé

Exemples de travaux pratiques (à titre indicatif)

  • Implémenter un système de templates avec héritage et inclusion de fichiers statiques
    • Configurer un base.html et utiliser l'héritage de templates pour plusieurs pages du site (Accueil, Contact)
    • Charger des fichiers statiques tels que des styles CSS et des images via le système de gestion des fichiers statiques de Django

Jour 2 - Interagir avec la base de donnéesMatin

Base de données et modèles

  • Découvrir l'ORM (Object Relational Mapper) Django
  • Définir un modèle
  • Définir les relations entre modèles
    • OneToOne
    • ForeignKey
    • ManyToMany
  • Gérer les migrations de la BDD (database)
  • CRUD (Create, Read, Update, Delete) sur les modèles

Exemples de travaux pratiques (à titre indicatif)

  • Modéliser un schéma de base de données relationnelles avec l'ORM Django
    • Définir plusieurs modèles représentant des entités de la bibliothèque (Livre, Auteur, Emprunt), avec des relations ForeignKey, OneToOne et ManyToMany
    • Gérer les migrations pour créer les tables correspondantes dans une base de données PostgreSQL ou SQLite

Requêtes SQL et QuerySet

  • Fonctionnement des QuerySet
  • Faire des requêtes QuerySet en utilisant le REPL
  • Requêtes complexes et relations inversées

Exemples de travaux pratiques (à titre indicatif)

  • Effectuer des requêtes complexes avec l'ORM Django et optimiser les performances
    • Utiliser les QuerySet pour effectuer des requêtes complexes comme la récupération de livres empruntés, avec des filtrages basés sur des champs relationnels (select_related et prefetch_related), et exploiter l'API de F() et Q() pour les requêtes conditionnelles

Après-midi

Lier ses modèles avec les vues

  • Charger un modèle dans une vue
  • Paramétrer une requête à partir d'une vue
  • Validation d'un modèle
  • Signaux et fonctions d'un modèle

Exemples de travaux pratiques (à titre indicatif)

  • Charger des modèles dans les vues et gérer le contexte de template
    • Intégrer les modèles dans des vues Django pour récupérer et afficher des données dans les templates, en utilisant le contexte de vue
    • Créer une page dynamique affichant les livres disponibles en base de données et permettre la navigation vers une vue détaillée

Opérations avancées sur les modèles

  • Requêtes en fonction avec le manager personnalisé
  • Ecrire ses requêtes SQL à la main
  • Faire des requêtes avancées
  • Gérer plusieurs BDD (databases)
  • Requêtes et transactions

Jour 3 - Gérer et afficher les donnéesMatin

Gestion des formulaires

  • Afficher et traiter un formulaire Django
  • Connecter un formulaire à un modèle
  • Vérifier et valider le contenu d'un formulaire
  • Ressources dans un formulaire
  • Gérer plusieurs formulaires avec un Formset

Exemples de travaux pratiques (à titre indicatif)

  • Construire des formulaires basés sur des modèles et valider les données
    • Créer un formulaire Django basé sur un modèle (ModelForm) pour gérer l'ajout d'un nouvel emprunt
    • Implémenter la validation côté serveur et gérer les erreurs d'entrée utilisateur

Administrateur Django

  • Installer le site d'administrateur
  • Personnaliser les listes et formulaires
  • Filtrer, trier, chercher avec l'administrateur
  • Ajouter des actions personnalisées
  • Ajouter du code JavaScript
  • Gérer les utilisateurs et les droits

Exemples de travaux pratiques (à titre indicatif)

  • Customiser l'interface d'administration avec des actions personnalisées et filtres avancés
    • Personnaliser l'admin Django pour les modèles Livre et Auteur, en ajoutant des filtres de recherche, des champs spécifiques dans les listes et des actions personnalisées comme "marquer un livre comme emprunté"

Après-midi

Structurer ses vues en classes

  • Principe de "Class View"
  • Requêtes HTTP, templates, variables de contexte
  • Afficher un modèle dans une Class View
  • Gérer un formulaire dans une Class View
  • Les mixins et les Class View

Exemples de travaux pratiques (à titre indicatif)

  • Implémenter des Class-Based Views (CBV) pour afficher et gérer des objets
    • Utiliser les vues génériques basées sur des classes (CBV) pour implémenter les opérations CRUD sur les livres (ListView, DetailView, CreateView, UpdateView, DeleteView)
    • Gérer les variables de contexte et la logique métier au sein des CBV

APIViews et ViewSets

  • Créer et tester une APIView
  • Ajout de méthodes à une APIView
  • Créer et tester une ViewSet
  • Ajout de fonctions à une ViewSet
  • Sérialisation de modèles et rendu format JSON / XML / MessagePack

Exemples de travaux pratiques (à titre indicatif)

  • Développer une API RESTful avec Django REST Framework (DRF)
    • Configurer Django REST Framework pour exposer une API qui gère les livres et les auteurs en utilisant des ViewSet et ModelSerializer
    • Créer des endpoints RESTful permettant la création, modification et suppression de livres en format JSON

Jour 4 - Packager un site en productionMatin

Notions avancées REST

  • Gestion des Endpoints utilisateurs
  • Mettre en place des tokens d'API
  • Valider le contenu
  • Gérer les versions d'une API
  • Caching et ETag

Exemples de travaux pratiques (à titre indicatif)

  • Implémenter la gestion des versions et de l'authentification sur une API REST
    • Mettre en place la gestion des versions pour l'API (via versioning dans DRF) et intégrer un mécanisme d'authentification basique (Token Auth ou OAuth2) pour restreindre l'accès à certaines parties de l'API

Tests avec Django et DRF

  • Mise en place de tests Python avec les TestCases
  • Tester avec un jeu de données en BDD
  • Client de test HTTP
  • Tester une API REST avec DRF
  • Tests unitaires, de transactions, avec un serveur Web

Exemples de travaux pratiques (à titre indicatif)

  • Ecrire des tests automatisés pour les vues et l'API REST
    • Implémenter des tests unitaires et fonctionnels pour valider le bon fonctionnement des vues et de l'API REST
    • Utiliser TestCase pour tester le comportement de l'API et s'assurer que les réponses HTTP sont correctes avec les données en base

Après-midi

Avoir un site en multilingue

  • Préparer le code pour l'internationalisation
  • Générer les traductions
  • Activer différentes langues dans Django
  • Traductions en JavaScript

Exemples de travaux pratiques (à titre indicatif)

  • Internationaliser et localiser l'application Django
    • Préparer l'application pour l'internationalisation (i18n) en configurant le support multilingue, générer les fichiers de traduction (.po) et permettre le basculement dynamique entre plusieurs langues (anglais, français...)

Configuration d'une application en production

  • Multi-configuration de base de données, flags
  • Provisionner une machine de développement avec Vagrant
  • Workflow avec Nginx et Gunicorn
  • Automatisation du déploiement avec Fabric et Ansible
  • Isoler son application avec Docker

Exemples de travaux pratiques (à titre indicatif)

  • Configurer et déployer l'application Django dans un environnement de production avec Docker
    • Utiliser Docker pour conteneuriser l'application Django, configurer Gunicorn comme serveur d'application WSGI, et utiliser Nginx comme serveur proxy
    • Automatiser le déploiement et la gestion de la configuration avec Ansible et Fabric

Financement

Plusieurs dispositifs de financement sont accessibles via les OPCO (Opérateurs de Compétences), organismes agréés par le ministère du Travail dont le rôle est d'accompagner, collecter et gérer les contributions des entreprises au titre du financement de la formation professionnelle.
Pour plus d'information, une équipe de gestionnaires SKOLAE Formation spécialisée vous accompagne dans le choix de vos formations et la gestion administrative.

Nous contacter pour en savoir plus

Points forts

Modalités pédagogiques

Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).

Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).

Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :

  • Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
  • Environnements de formation installés sur les postes de travail ou en ligne
  • Supports de cours et exercices

En cas de formation intra sur site externe à M2I, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.

* nous consulter pour la faisabilité en distanciel

** ratio variable selon le cours suivi

Accessibilité aux personnes en situation de handicap

Dernière mise à jour : 19/10/2026

Sessions

Django - Développements Web en Python

4 jours (28 heures) Réf. PYT-DJAN

à partir de 2 640 € HT

Repas inclus en présentiel
Places disponibles
S'inscrire
Du 20 avril au 23 avril 2027 Paris La Défense
Places disponibles
S'inscrire
Du 27 avril au 30 avril 2027 Paris La Défense
Places disponibles
S'inscrire

Ces formations peuvent aussi vous intéresser