Applications web avec Django

Django est livré piles incluses, et le but de ces trois jours est de savoir lesquelles utiliser et quand. On construit un vrai projet pas à pas, de la première vue au déploiement, en regardant sous le capot chaque fois que ça compte.

Durée : 3 jours, plus 2 jours optionnels · Niveau : intermédiaire

Pour qui : les développeurs souhaitant apprendre le framework Django.

Prérequis : les bases de Python (suivre la formation Python au préalable est recommandé).

Web applications with Django

Jour 1 — Fondamentaux Django

  • Rappel sur le protocole HTTP
  • Structure du projet
  • Configuration dans settings.py
  • Vues fonction et cycle requête/réponse
  • Routing des URLs vers les vues
  • Générer des pages à base de templates
  • Filtres et tags
  • Héritage et inclusion des templates
  • Créer des liens dynamiques

Jour 2 — Persistance et contenu

  • Modèles et champs
  • Migrations de base de données
  • L'admin Django
  • Requêtes avancées avec l'ORM
  • Identification, authentification et sessions
  • Permissions utilisateurs
  • Formulaires et validation
  • Mise à l'international : i18n et l10n
  • Les class based views

Jour 3 — Notions avancées

  • Intercepter toutes les requêtes avec les middlewares
  • Injecter des objets dans les templates avec un context processor
  • Modèle User personnalisé : forcer un UUID
  • Cache et Redis
  • Files de tâches
  • Tests unitaires et d'intégration
  • Fichiers statiques et media
  • Upload de fichier
  • Mise en production

Jour 4 — Optionnel : personnalisation

  • Écrire son backend d'authentification
  • Écrire un champ de formulaire personnalisé
  • Écrire un widget de formulaire personnalisé
  • Filtre et tag personnalisés
  • Configurer les logs
  • Debug toolbar, Sentry, Logfire, Allauth et Wagtail
  • Créer sa propre pluggable app

Jour 5 — Optionnel : créer une web API

  • Django-ninja vs Django Rest Framework
  • Introduction à Pydantic
  • Exposer ses endpoints
  • Query string, formulaires et upload
  • Validation par schéma
  • Authentification par token
  • Génération automatique de la documentation
  • Throttling
  • Bonnes pratiques

Passez au niveau supérieur en Python !