Formation à Django

Cette formation technique vise à apporter les bases nécessaires à chaque développeur désireux de se lancer dans le développements d'applications avec le framework Django.

Introduction

  • Courte intro à Python et la Programmation Orientée Objet (POO)
  • Modèle MVT
  • Schéma d’une requête Django
  • ORM
  • Django
  • Exemples de projets en Django
  • Virtualenv
  • Le shell interactif Django

Cas pratique :
La suite de la formation se déroulera avec l’implémentation d’un site basique d’une todo list. Chaque élément de la todo list appartiendra à un thème précis.                   
- Préparation de l'environnement
- Installation de Python, Django
- Création d'un nouveau projet
- Mise en place de Git
- Mise en place des tests et l’approche tests unitaires

Gestion des vues

  •  Vues simples ou fonctions vues
  • Les classes HttpResponse, HttpRequest et QueryDict
  • Configuration des URL : UrlConf
  • Vues génériques
  • Exemples de vues génériques : Redirects, Create, Update, Delete...

Les templates

  • Le rôle des templates
  • Création et chargement des templates

Gestion des contextes

  • Utilisation des tags et filtres personnalisés
  • Réutilisation des templates : héritage entre templates
  • Gestion des fichiers statiques

Cas pratique :
Faire une vue simple : Hello World ! en utilisant des variables de templates
Faire une vue pour lister des thèmes de todo

L'accès aux données avec Django

  • Le modèle ORM Django
  • Les modèles Django : Model, Field, Table, Column, Primary Key...
  • Mapping des associations : OneToMany, ManyToOne, ManyToMany, OneToOne
  • Classe Meta
  • Accès aux données avec les QuerySets
  • Champs relationnels et Managers

Cas pratique :
Création d’un modèle de todo
Essai d’une requête

Gestion des formulaires

  • Les avantages des formulaires Django (génération html + CSRF)
  • Création des formulaires
  • Les différents types de champs
  • Validation des données d'un formulaire
  • Gestion et personnalisation des messages d'erreurs
  • Génération des formulaires à partir des modèles

Cas pratique :
Créer un formulaire pour les thèmes et todo
Créer des vues create, update, delete

Interface d’administration

  • Personnalisation de l’admin
  • Installer l'interface d'administration
  • Comptes utilisateurs et droits
  • Publier des modèles dans l'interface
  • Personnaliser les vues, ajouter des actions
  • Créer des widgets personnalisés
  • Limites de l’admin

Aller plus loin

  • Les tests
  • Tests d’intégration (Selenium)

Utilisateurs, groupes et permissions

  •  Introduction aux utilisateurs, groupes et permissions
  • Présentation du mécanisme d'authentification
  • Protéger ses vues (décorateur et mixins)

Cas pratique :
Création d'un formulaire d'inscription et de connexion
Création d'une vue réservée aux utilisateurs connectés

Fichiers statiques & Media (Niveau avancé)

  • Gestion des fichiers statiques
  • Gestion des fichiers media
  • Upload et manipulation de fichiers

Internationalisation (Niveau avancé)

  • Internationaliser une application
  • Gestion des fichiers de langues
  • Traductions JavaScript
  • Détection du langage utilisateur

Logging (Niveau avancé)

Déploiement (Niveau avancé)

Modules externes (Niveau avancé)

  • Django CMS
  • Django Debug Toolbar
  • Django Rest Framework (api)

Communauté

  • Quelques liens pour trouver des informations intéressantes
  • Conférences
  • Livres
  • Meetups