M2i Formation

Découvrez notre formationDjango - Développements Web en Python

Présentiel

4 jours (28 heures) - PYT-DJAN

Accueil  ›  Formations Informatique  ›  Langages et développement  ›  Développeur Python  ›  Django - Développements Web en Python

Objectifs pédagogiques

  • 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.

Niveau requis

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

Public concerné

Développeurs Web et chefs de projets.

Paris La Défense09/03/20202 400 € HTDates proposées dans les agences M2iRéserver
Paris La Défense25/05/20202 400 € HTDates proposées dans les agences M2iRéserver
Paris La Défense12/10/20202 400 € HTDates proposées dans les agences M2iRéserver
Paris La Défense14/12/20202 400 € HTDates proposées dans les agences M2iRéserver

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

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

En cliquant le bouton « Accepter », vous acceptez l’utilisation de cookies pour réaliser des mesures d’audiences et vous permettre d’enregistrer vos préférences de navigation. En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies.

Accepter Paramètres En savoir plus