Formations Web Python Formation Django : Avancé

Formation Django : Framework Python Avancé

Noté 4.7 sur 5
Logo Formation Django 2 Python Framework
Prix 2430€ HT / personne
Durée 4 jours (28 heures)

Paris | Classe Virtuelle

Il ne reste que quelques places
NewCafés et déjeuners offerts en interentreprises
Disponible en intra-entreprise pour former votre équipe
Je ne veux pas me déplacer ? Option classe virtuelle gratuite

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

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

Noté 5 sur 5
24 mars 2023

Les + : Qualité de l’intervenant : très compétent, patient et pédagogue

Jordan B. de chez CGI France

Afficher tous les témoignages

Noté 5 sur 5
24 mars 2023

Les + : Qualité de l’intervenant : très compétent, patient et pédagogue

Jordan B. de chez CGI France
Noté 4 sur 5
24 mars 2023

Les + : l’intervenant était très compétent et pédagogue, de plus le Framework est assez facile à prendre en main

Florian H. de chez CGI France
Noté 5 sur 5
24 mars 2023

Les + : une vue complète de framework, friendly aux personnes qui n’ont pas du tout de compétence

Les – : cas pratique relativement insuffisant

Chiyu X. de chez CGI France

Noter la formation

Prix 2430€ HT / personne
Durée 4 jours (28 heures)

Paris | Classe Virtuelle

Il ne reste que quelques places
NewCafés et déjeuners offerts en interentreprises
Disponible en intra-entreprise pour former votre équipe
Je ne veux pas me déplacer ? Option classe virtuelle gratuite

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp