Formation Django Python

Logo Formation Pandas et Jupyter Notebook

2200€

1980€HT/ personne

4 jours (28 heures)

Interentreprises

­Paris

Disponible en intraentreprise pour former votre équipe.

Présentation

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 2, 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 2.1.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. Des notions en HTML / CSS / JavaScript est un plus.

 

Programme de la formation Django Python

 

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

 

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

 

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

Donnez votre avis ?

Afficher tous les témoignages

Donnez votre avis ?

Noter la formation

2200€

1980€HT/ personne

4 jours (28 heures)

Interentreprises

­Paris

Disponible en intraentreprise pour former votre équipe.

Une question ? Un projet ?

Pour des informations complémentaires, n’hésitez pas à nous contacter.