Formation Django avancé

Venez approfondir vos connaissances sur le framework Django auprès de nos experts. Grâce à cette formation, vous apprendrez à résoudre des problématiques complexes en écrivant du code fiable et performant. D'après nos connaissances acquises au fil des années sur des projets réels, nous vous expliquerons comment éviter les écueils et comment vous orienter dans le riche écosystème de la planète Django.

Objectifs pédagogiques

  • Être capable de maîtriser les concepts avancés du framework Django
  • Savoir trouver les solutions à des problèmes complexes
  • Savoir utiliser les signaux
  • Savoir garantir la qualité des développements
  • Être en mesure d'améliorer les performances
  • Être capable d'intégrer des tests à ses projets Django
  • Savoir résoudre un problème avec la documentation (recherche Web et doc Django)

Formation Django avancé en détail

Programme

1. Modèles avancés

  • Les types de modèles avancés :
    • Abstract
    • Proxy
    • Mixins
  • Méthodes de requêtage avancées : Aggregation, Lookups, Functions…
  • Personnalisation des querysets et managers
  • Héritage de modèle, astuces et pièges
  • Personnalisation de l'interface d'administration
  • Travaux pratiques : Développement d'un manager personnalisé et personnaliser l'administration pour ce modèle

2. Vues avancées

  • Les mixins de vues
  • Les Middleware
  • Travaux pratique : écrire un Middleware

3. Formulaires avancés

  • Écrire un champ personnalisé
  • Écrire un widget personnalisé
  • Introduction au concept de Formset : formset factory
  • Travaux pratique : créer un formulaire avec un Formset ainsi que sa vue

4. Templates avancés

  • Comprendre le workflow du moteur de template
  • Quand et comment écrire un filtre personnalisé
  • Quand et comment écrire un tag personnalisé
  • Échappement et chaînes sécurisées
  • Context processor
  • Comment changer le moteur de template
  • Travaux pratique : créer un template personnalisé et ajouter un filtre personnalisé

5. Gestion des utilisateurs avancée

  • Modèle utilisateur remplaçable
  • Groupes et permissions
  • Créer ses propres permissions
  • Travaux pratique : créer son propre modèle d'utilisateurs et le référencer dans un modèle et créer une page réservée à un groupe

6. Localisation et internationalisation

  • Traduction et internationalisation des contenus
    • Dans les fichiers Python
    • Dans les templates
    • Création, édition et compilation de fichiers de traductions
  • Changement de langue dynamique
  • Localisation d'URL
  • Gestion des timezones
  • Travaux pratique : ajouter une notion internationale à son application Django

7. Signaux

  • Le concept de signal
  • Présentation des principaux signaux natifs
  • Quand et comment écrire un signal personnalisé
  • Travaux pratique : faire une action à la sauvegarde d'un modèle

8. Optimisation des performances

  • Accès à la base de données et bonnes pratiques ORM
    • Savoir quand les requêtes sont exécutées
    • select_related, prefetch_related, Prefetch
  • Gestion du cache (vues, templates, modèles)
  • Déceler les requêtes lentes et les optimiser : Django Debug Toolbar
  • Travaux pratique : optimiser une vue en utilisant le cache et les bonnes pratiques

9. Commandes d'administration

  • Utilisation des commandes existantes
  • Création de commandes personnalisées pour Django
  • Travaux pratique : créer une commande

10. Tests

  • Introduction aux tests de modèles, vues et formulaires
  • Organisation et lancement des tests
  • Méthodes de tests avancés
    • factory_boy
    • Faker
  • Travaux pratique : écrire ses premiers tests

11. Déploiement

  • Logging
  • Différents moyens
    • Apache / mod_wsgi
    • gunicorn / uwsgi
    • Circus / Chaussette WSGI Server
    • Nginx pour remplacer Apache

Public visé et pré-requis

Public

Tout développeur souhaitant approfondir et renforcer ses connaissances sur le framework Django.

Pré-requis

Ces pré-requis seront contrôlés et validés sous forme d’entretien téléphonique réalisé au plus tard 2 semaines avant la formation. En cas de non adéquation, des solutions alternatives seront proposées.

Personne en situation de handicap

Pour toutes questions relatives à l’accueil d’un participant présentant un handicap, merci de nous contacter préalablement avant toute inscription.

Prochaines sessions & tarifs

Formations Django

Django avancé

À distance (FOAD) Du 9 au 13 décembre 2024

Durée : 3 jours soit 21 heures
Tarif : 1800 € ht par personne

1 journée puis 4 demi-journées

Formations Django

Django avancé

À distance (FOAD) Du 17 au 21 mars 2025

Durée : 3 jours soit 21 heures
Tarif : 1800 € ht par personne

1 journée puis 4 demi-journées

Formations Django

Django avancé

À distance (FOAD) Du 8 au 12 décembre 2025

Durée : 3 jours soit 21 heures
Tarif : 1800 € ht par personne

1 journée puis 4 demi-journées

Ingénierie pédagogique

Moyens pédagogiques et techniques

  • Les supports de cours (slides) sont disponibles en ligne et distribués en début de formation (à l'aide d'un lien vers notre outil interne ou d'une version numérisée), puis fournis au format électronique à la fin de la formation.

  • Une salle de formation équipée d'une connexion Internet, d'un vidéoprojecteur, paperboard…

  • Un ordinateur par stagiaire avec un système d'exploitation installé et les outils nécessaires.

Modalités de suivi de l'exécution du programme

  • Durant la formation : alternance d'apports théoriques (23% du cours) et d’exercices pratiques et de mise en situation sous forme de travaux pratiques corrigés avec l’expert-formateur

  • En fin de formation : évaluation à chaud sur l'atteinte des objectifs pédagogiques sous forme de tour de table et de test de connaissances, d'exercices, de QCM

Moyens d'encadrement

Formation assurée par un expert-formateur Python / Django.

Témoignages

Experts Django avancé

Jean-Etienne Castagnede

Expert Django-PostGIS


Toulouse