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

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

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.

Programme

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

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vous souhaitez suivre cette formation ?

Cette formation est disponible en présentiel ou en classe à distance, avec un programme et une qualité pédagogique identiques.

Choisissez la modalité souhaitée pour vous inscrire :

Modalité Présentiel, Classe à distance

Votre société a besoin d'une offre personnalisée ? Contactez-nous

Faites évoluer vos compétences

Complétez votre formation

Faites-nous part de votre projet de formation, nous sommes là pour vous guider.

Contactez-nous