Formation Django : Framework Python Avancé
2430€ HT / personne |
4 jours (28 heures) |
Présentation de notre formation Django
Django est un framework web écrit en Python. Né en 2003, Django est à la fois robuste et éprouvé tout à gardant un cycle de mise à jour qui suit les dernières évolutions du marché. Le temps a confirmé la qualité de Django, et après 15 ans d’existence, ce framework reste toujours aussi dynamique avec une communauté très active.
Django revendique son approche pragmatique et efficace par son slogan : le framework web pour les perfectionnistes avec des deadlines. Il est pensé pour avoir un développement rapide sans jamais sacrifier la qualité.
Avec Django 3, vous aurez immédiatement à votre disposition un module de routing HTTP, un ORM complet pour gérer plusieurs bases de données, un moteur de templating natif, une interface d’administration de BDD clés en main, et bien d’autres choses.
Dans cette formation avancée, nous allons étudier tous les grands aspects de Django (vues, base de données, templates, formulaires, etc.) sans oublier la construction d’API REST avec Django Rest Framework. Nous en profiterons pour étudier le cycle complet d’un site professionnel : rédaction de tests unitaires, gestion multienvironnements (dev, prod), déploiement automatisé en production.
Comme toutes nos formations, celle-ci vous présentera la dernière version stable en date et ses nouveautés (Django 3.2 à la date de l’article).
Objectifs
- 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 son site en production
Public visé
Développeurs web, Chefs de projet
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.
Matériels requis
- Interpréteur python 3.8+
- Accès à internet
- Accès à un environnement de développement (les exemples se feront sur PyCharm)
- Droits pour installer et lancer un serveur web
- Accès aux ports standards de développement web
Programme de la formation Django
Jour 1 : Prise en main de Django
Introduction Python & Django
- Programmer en Python
- Historique de Django
- Traitement d’une requête HTTP
- Structure d’un projet Django (Fichiers, settings.py, Pattern MVT)
- Naviguer dans la documentation de Django
- Gérer un projet Django en CLI
- Nouveautés des versions 3 & 3.1
Urls & Views
- Routing des requêtes avec urls.py
- Pattern Matching dans les URLs
- Isolation des routes par app Django
- View et réponse HTTP
- Objets Request / Response
Templates
- Charger un template dans une view (vue)
- Tags & 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 Models
- Découvrir l’ORM Django
- Définir un model
- Définir les relations entre models (OneToOne, ForeignKey, ManyToMany)
- Gérer les migrations de la BDD (Database)
- CRUD sur les models
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 models avec les Views
- Charger un model dans une view
- Paramétrer une requête à partir d’une view
- Validation d’un model
- Signaux et fonctions d’un model
Opérations avancées sur les Models
- Requêtes en fonction avec le manager personnalisé
- Écrire 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 & Afficher les données
Gestion des formulaires
- Afficher et traiter un Django Form
- Connecter un Form à un Model
- Vérifier et valider le contenu d’un Form
- Ressources dans un Form
- Gérer plusieurs formulaires avec un Formset
Admin Django
- Installer le site d’admin
- Personnaliser les listes et form
- Filtrer, Trier, Chercher avec l’admin
- Ajouter des actions personnalisées
- Ajouter du code JavaScript
- Gérer les utilisateurs et les droits
Structurer ses View en classes
- Principe de Class View
- Requêtes HTTP, templates, variables de contexte
- Afficher un Model dans une Class View
- Gérer un Form dans une Class View
- Les Mixin 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 models 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 & DRF
- Mise en place de tests Python avec les TestCase
- 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 webserver
Avoir un site en multi-lingue
- 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 dev avec Vagrant
- Workflow avec Nginx et Gunicorn
- Automatisation déploiement avec fab et Ansible
- Isoler son application avec Docker
Autour du sujet
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Le(s) Formateur(s)
Robin
Robin travaille dans l’industrie du développement software depuis plus de 10 ans. En passant de startups à de grandes entreprises (SagemCom, JCDecaux, Parrot), il a abordé un large panel de technologies, de l’embarqué au développement web.
Armé de cette expérience, il a co-écrit Mastering Qt 5, un livre sur les techniques avancés en C++ / Qt (2nd édition publiée en 2018). En parallèle, Il utilise et suit le framework Django depuis 8 ans, qu’il a mis en place et maintenu à de nombreuses occasions en entreprise.
Il vous propose de partager son expérience sur Qt et Django et d’échanger avec vous sur un sujet qui le passionne : concevoir des programmes robustes, maintenables et performants.
Témoignages
Les + : Qualité de l’intervenant : très compétent, patient et pédagogue
Afficher tous les témoignages
Les + : Qualité de l’intervenant : très compétent, patient et pédagogue
Les + : l’intervenant était très compétent et pédagogue, de plus le Framework est assez facile à prendre en main
Les + : une vue complète de framework, friendly aux personnes qui n’ont pas du tout de compétence
Les – : cas pratique relativement insuffisant
Noter la formation
2430€ HT / personne |
4 jours (28 heures) |