Introduction to DJANGO 2.x

Django est un framework web écrit en Python. Né en 2003, Django est à la fois robuste et éprouvé tout à gardant un cycle de mise à jour qui suit les dernières évolutions du marché. Le temps a confirmé la qualité de Django, et après 15 ans d’existence, ce framework reste toujours aussi dynamique avec une communauté très active.

Django revendique son approche pragmatique et efficace par son slogan : le framework web pour les perfectionnistes avec des deadlines. Il est pensé pour avoir un développement rapide sans jamais sacrifier la qualité

Avec Django 2, vous aurez immédiatement à votre disposition un module de routing HTTP, un ORM complet pour gérer plusieurs bases de données, un moteur de templating natif, une interface d’administration de BDD clés en main, et bien d’autres choses.

Durée

.

Publics cibles

  • Développeurs web
  • Chefs de projet

Pré-requis

  • Avoir des notions en Python ou bien dans un langage récent de programmation. Des notions en HTML / CSS / JavaScript est un plus.

Objectifs

  • 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

Informations

Programme détaillé

JOUR 1 : PRISE EN MAIN DE DJANGO

  • INTRODUCTION PYTHON & DJANGO
  • Programmer en Python
  • Historique de Django
  • Traitement d’une requête HTTP
  • Structure d’un projet Django (Fichiers, settings.py, Pattern MVT)
  • Naviguer dans la documentation de Django
  • Gérer un projet Django en CLI

  • URLS & VIEWS
  • Routing des requêtes avec urls.py
  • Pattern Matching dans les URLs
  • Isolation des routes par app Django
  • View et réponse HTTP
  • Objets Request / Response

  • TEMPLATES
  • Charger un template dans une view (vue)
  • Tags & 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 MODELS
  • Découvrir l’ORM Django]
  • Définir un model]
  • Définir les relations entre models (OneToOne, ForeignKey, ManyToMany)]
  • Gérer les migrations de la BDD (Database)]
  • CRUD sur les models]

  • 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 MODELS AVEC LES VIEWS
  • Charger un model dans une view
  • Paramétrer une requête à partir d’une view
  • Validation d’un model
  • Signaux et fonctions d’un model

  • OPÉRATIONS AVANCÉES SUR LES MODELS
  • Requêtes en fonction avec le manager personnalisé
  • Écrire 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 & AFFICHER LES DONNÉES

  • GESTION DES FORMULAIRES
  • Afficher et traiter un Django Form
  • Connecter un Form à un Model
  • Vérifier et valider le contenu d’un Form
  • Ressources dans un Form
  • Gérer plusieurs formulaires avec un Formset

  • ADMIN DJANGO
  • Installer le site d’admin
  • Personnaliser les listes et form
  • Filtrer, Trier, Chercher avec l’admin
  • Ajouter des actions personnalisées
  • Ajouter du code JavaScript
  • Gérer les utilisateurs et les droits

  • STRUCTURER SES VIEW EN CLASSES
  • Principe de Class View
  • Requêtes HTTP, templates, variables de contexte
  • Afficher un Model dans une Class View
  • Gérer un Form dans une Class View
  • Les Mixin 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 models 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 & DRF
  • Mise en place de tests Python avec les TestCase
  • 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 webserver

  • AVOIR UN SITE EN MULTI-LINGUE
  • 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 dev avec Vagrant
  • Workflow avec Nginx et Gunicorn
  • Automatisation déploiement avec fab et Ansible
  • Isoler son application avec Docker


Introduction to DJANGO 2.x

Interressé par cette formation ? Contactez-nous pour recevoir plus d'informations