Django

Django est un framework de développement basé sur Python.

Kiwi standing on oval

Formation Django initiation

Entrez de plain-pied dans l'univers de Django aux côtés de développeurs ayant une expérience de terrain approfondie sur des projets d'envergure. Au-delà de la présentation des fonctionnalités du framework, notre objectif est de vous initier aux bonnes pratiques qui vous permettront d'en tirer rapidement le meilleur profit. Au travers d'exemples concrets et de travaux pratiques, vous prendrez en main cet outil dès les premiers chapitres de la formation.

Objectifs pédagogiques

  • S'initier au framework Django
  • Découvrir l'écosystème autour du framework Django
  • Être capable de modifier l'interface intégrée d'administration
  • Savoir intégrer des modules externes
  • Être capable de respecter les bonnes pratiques
  • Être capable de développer une application Web en Python avec Django
  • Savoir analyser un problème et le résoudre grâce à la documentation

Formation Django initiation en détail

Programme

1. Présentation du framework Django

  • Historique
  • Philosophie
  • Caractéristiques, avantages
  • L'implémentation du modèle MVC

2. Premiers pas

  • Déploiement d'un environnement de développement
  • Aperçu complet d'une première application simple
  • Travaux pratiques : Mise en place du squelette d'une application

3. Les modèles

  • Introduction aux concepts Model et Field
  • Définition des champs de modèles
  • Manipuler les modèles
  • Présentation de l'interface d'administration
  • Introduction aux concepts Manager et Queryset, RelatedManager
  • Méthodes simples de requêtage en base de données
  • Travaux pratique : Créer un modèle avec ses champs et réer des instances, les récupérer, les supprimer et les modifier

4. Les URLs et les vues

  • Les URLs :
    • Présentation du processus de traitement des requêtes
    • Les URLs avec ou sans paramètres
    • Include et Namespace
  • Les vues :
    • Introduction au concept View
    • Les vues basées sur une fonction
    • Introduction aux vues basées sur une classe
    • Les clés pour choisir entre vue basée sur une fonction et vue basée sur une classe
  • Travaux pratiques : création de vues avec des URLs

5. Les templates

  • Introduction au concept Template
  • La syntaxe de template
  • Les filtres et les tags
  • L'héritage et l'inclusion de templates
  • Travaux pratiques : créer plusieurs templates et utiliser l'héritage et créer une Class Based View (CBV) pour afficher son modèle (DetailView / ListView)

6. Les formulaires

  • Introduction aux concepts Form, Field et Widget : Déclaration, affichage et traitement de formulaire simple
  • Introduction au concept ModelForm : Déclaration, affichage et traitement de formulaire basé sur un modèle
  • Validation des champs du formulaire
  • Travaux pratiques : Création d'un formulaire simple avec ModelForm et créer des CBV pour modifier son modèle (CreateView / UpdateView / DeleteView)

7. Relations entre les modèles

  • Introduction aux concepts ForeignKey, ManyToManyField et OneToOneField
  • Implémentation de relations 1-N, N-N, 1-1
  • Travaux pratiques : créer un modèle lié au modèle existant et gérer ce modèle depuis l'administration (InlineModelAdmin)

8. Gestion des utilisateurs

  • Introduction aux utilisateurs, groupes et permissions
  • Présentation du mécanisme d'authentification
  • Protéger ses vues (décorateur et mixins)
  • Travaux pratiques : création d'un formulaire d'inscription et de connexion et création d'une vue réservée aux utilisateurs connectés

9. Fichiers statiques & Media

  • Gestion des fichiers statiques
  • Gestion des fichiers media
  • Upload et manipulation de fichiers
  • Travaux pratiques : la gestion des médias et l'ajout de fichier sur Django

10. Initiation au déploiement

  • Intégration dans APACHE avec WSGI
  • Gestion des fichiers statiques

11. Fonctionnalités du core à connaître

  • Common Web application tools
  • Other core functionalities

12. Environnement et communauté

  • Les applications indispensables et populaires
  • Quelques liens pour trouver des informations intéressantes
  • La communauté Django

Public visé et pré-requis

Public

Tout développeur souhaitant acquérir les bases du framework Django

Pré-requis

  • Connaître les principes du Web (client/serveur, POST, etc.)
  • Connaître le langage Python

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

Django

Django initiation

A distance (foad) Du 28 au 30 septembre 2021

Durée : 3 jour(s) soit 21 heures
Tarif : 1500 € ht par personne

Django

Django initiation

A distance (foad) Du 16 au 18 novembre 2021

Durée : 3 jour(s) soit 21 heures
Tarif : 1500 € ht par personne

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 (20% 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 initiation

Jean-Etienne Castagnede

Jean-Etienne Castagnede

Expert Django-PostGIS


Toulouse

Julien Marzin

Développeur Web


Nantes