Formation Django avancé

Objectifs

Cette formation a pour but d'approfondir votre compréhension du framework Django.

Après avoir suivi cette formation, vous serez capable de:

  • Contruire une application web complexe
  • Concevoir une API auto-documentée
  • Comprendre et mitiger les risques de sécurité d'une application Django
  • Analyser et améliorer les performances d'une application Django

Cette formation est prévue pour durer 3 jours.

Pré-requis

  • Bonne connaissance du langage Python
  • Connaissance de base du framework Django: Vues, modèles, templates et routing

Plan

Ce plan est donnée à titre indicatif et servira de fil conducteur.

La formation en personne a comme avantage de pouvoir s'adapter aux apprenants et d'apporter des réponses détaillées à des questions spécifiques.

Jour 1

  • Les modèles de données
    • Révision des bases: Models, Fields et Managers
    • Héritage de modèles: abstract, proxy et OneToOne
    • Création d'un Field personnalisé
    • Création d'un Manager personnalisé
    • Mise en pratique: DatedModel, CurrencyField et active_objects
  • Tests unitaires
    • Écrire des tests sous Django
    • Patching et Mocking
    • Couverture de code (code coverage)
    • Mise en pratique: Écrire les tests unitaires de notre application exemple
  • Requêtes avancées
    • Annotate: avantages et limites
    • Utilisation avancée de prefetch_related et select_related
    • Mise en pratique: Réduction du nombre de requêtes

Jour 2

  • Les vues
    • Révision des bases: Les vues sous forme de clases (class-based views)
    • Vues génériques: TemplateView, ListView, ...
    • Les Mixin
    • Les middleware
    • Mise en pratique: Création d'un mixin de vue générique et d'un middleware
  • Les templates
    • Révision des bases: Filters et Tags
    • Filters personnalisés
    • Tags personnalisés
    • Mise en pratique: Création d'un filtre personalisé
  • Sécurité avancée
    • Révision des bases: protection contre le XSS (csrf token)
    • Customisation de l'authentification: JWT et clef d'API
    • Authentification par OAuth
    • Mise en pratique: Gérer la séparation des données dans notre application

Jour 3

  • Migrations
    • Migration de données: Python et SQL
    • Fusion de migrations
    • Mise en pratique: Créer une migration de données personnalisée
  • Django Rest Framework
    • Les ViewSets
    • Les Serializers
    • Mise en pratique: Ajouter une API auto-documentée à notre application
  • Performance
    • Django Debug Toolbar
    • Gestion du cache
    • Mise en pratique: améliorer les performances de notre application

Support de cours

Support de cours pour la formation Django avancé

Contact

Cette formation vous intéresse?

N'hésitez pas à me contacter: [email protected]