Django - Développements Web en Python
Prérequis
Public admis
- Salarié en Poste
- Entreprise
Demandeur d'emploi et Etudiant non admis
Financement
- Votre OPCO
- Financement personnel
Financement CPF non pris en charge
Modalités
- En centre
- À distance
Objectifs pédagogiques
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.
Programme de la formation
Jour 1 : Prise en main de Django
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
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"
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é
Jour 2 : Interagir avec la base de données
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
Requêtes SQL et QuerySet
- Fonctionnement des QuerySet
- Faire des requêtes QuerySet en utilisant le REPL
- Requêtes complexes et relations inversées
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
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ées
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
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
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
API REST avec Django REST Framework
- Principes d'une API REST
- Définir un endpoint REST avec DRF
- Fonctionnement d'un routeur
- Objet nested dans une API REST
- Sérialisation de modèles et rendu format JSON / XML / MessagePack
- Routing d'actions supplémentaires
Jour 4 : Packager un site en production
Notions avancées REST
- Valider le contenu
- Gérer les versions d'une API
- Caching et ETag
- Authentification et permissions d'un client
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
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
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
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation

Proposé par
M2I
"Un leadership dans le domaine de la formation"

Proposé par
M2I
