Réservez les formations disponibles partout en France !

location-dot
location-dot
location-dot
À partir de
location-dot
image OF
  1. Accueil
  2. Numérique
  3. Développement et langage informatique
  4. Python
  5. Django - Développements Web en Python
Django - Développements Web en Python

Django - Développements Web en Python

Qualiopi
En centre
Non éligible CPF
Sélectionnez une session :

Choisissez une date pour pouvoir réserver !

Objectifs
Programme

A l'issue de cette formation, vous serez capable de :

  • 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 votre site en production.

Jour 1 - Prise en main de Django

Matin

Introduction Python et Django

  • Programmer en Python
  • Historique de Django
  • Traitement d'une requête HTTP
  • Structure d'un projet Django
    • Fichiers
    • settings.py
    • Pattern MVT (Model View Template)
  • Naviguer dans la documentation de Django
  • Gérer un projet Django en CLI

Exemples de travaux pratiques (à titre indicatif)

  • Initialiser un environnement Django et configurer le serveur de développement local
    • Installer Django dans un environnement virtuel Python (via virtualenv ou venv)
    • Initialiser un projet Django, puis lancer le serveur de développement pour afficher une vue simple répondant à une requête HTTP avec un message "Hello, Django"

Après-midi

URL et vues

  • Routing des requêtes avec urls.py
  • Pattern matching dans les URL
  • Isolation des routes par application Django
  • Vues et réponse HTTP
  • Objets "requête / réponse"

Exemples de travaux pratiques (à titre indicatif)

  • Configurer le routage URL avec urls.py et créer des vues fonctionnelles
    • Créer une application Django avec des routes dynamiques qui gèrent des paramètres dans les URLs
    • Implémenter des vues fonctionnelles pour afficher des articles avec une URL du type /blog//

Templates

  • Charger un template dans une vue
  • Tags et filtres
  • Héritage de template
  • Ressource statique dans un template
  • Définir un tag / filtre personnalisé

Exemples de travaux pratiques (à titre indicatif)

  • Implémenter un système de templates avec héritage et inclusion de fichiers statiques
    • Configurer un base.html et utiliser l'héritage de templates pour plusieurs pages du site (Accueil, Contact)
    • Charger des fichiers statiques tels que des styles CSS et des images via le système de gestion des fichiers statiques de Django

Jour 2 - Interagir avec la base de données

Matin

Base de données et modèles

  • Découvrir l'ORM (Object Relational Mapper) Django
  • Définir un modèle
  • Définir les relations entre modèles
    • OneToOne
    • ForeignKey
    • ManyToMany
  • Gérer les migrations de la BDD (database)
  • CRUD (Create, Read, Update, Delete) sur les modèles

Exemples de travaux pratiques (à titre indicatif)

  • Modéliser un schéma de base de données relationnelles avec l'ORM Django
    • Définir plusieurs modèles représentant des entités de la bibliothèque (Livre, Auteur, Emprunt), avec des relations ForeignKey, OneToOne et ManyToMany
    • Gérer les migrations pour créer les tables correspondantes dans une base de données PostgreSQL ou SQLite

Requêtes SQL et QuerySet

  • Fonctionnement des QuerySet
  • Faire des requêtes QuerySet en utilisant le REPL
  • Requêtes complexes et relations inversées

Exemples de travaux pratiques (à titre indicatif)

  • Effectuer des requêtes complexes avec l'ORM Django et optimiser les performances
    • Utiliser les QuerySet pour effectuer des requêtes complexes comme la récupération de livres empruntés, avec des filtrages basés sur des champs relationnels (select_related et prefetch_related), et exploiter l'API de F() et Q() pour les requêtes conditionnelles

Après-midi

Lier ses modèles avec les vues

  • Charger un modèle dans une vue
  • Paramétrer une requête à partir d'une vue
  • Validation d'un modèle
  • Signaux et fonctions d'un modèle

Exemples de travaux pratiques (à titre indicatif)

  • Charger des modèles dans les vues et gérer le contexte de template
    • Intégrer les modèles dans des vues Django pour récupérer et afficher des données dans les templates, en utilisant le contexte de vue
    • Créer une page dynamique affichant les livres disponibles en base de données et permettre la navigation vers une vue détaillée

Opérations avancées sur les modèles

  • Requêtes en fonction avec le manager personnalisé
  • Ecrire 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 et afficher les données

Matin

Gestion des formulaires

  • Afficher et traiter un formulaire Django
  • Connecter un formulaire à un modèle
  • Vérifier et valider le contenu d'un formulaire
  • Ressources dans un formulaire
  • Gérer plusieurs formulaires avec un Formset

Exemples de travaux pratiques (à titre indicatif)

  • Construire des formulaires basés sur des modèles et valider les données
    • Créer un formulaire Django basé sur un modèle (ModelForm) pour gérer l'ajout d'un nouvel emprunt
    • Implémenter la validation côté serveur et gérer les erreurs d'entrée utilisateur

Administrateur Django

  • Installer le site d'administrateur
  • Personnaliser les listes et formulaires
  • Filtrer, trier, chercher avec l'administrateur
  • Ajouter des actions personnalisées
  • Ajouter du code JavaScript
  • Gérer les utilisateurs et les droits

Exemples de travaux pratiques (à titre indicatif)

  • Customiser l'interface d'administration avec des actions personnalisées et filtres avancés
    • Personnaliser l'admin Django pour les modèles Livre et Auteur, en ajoutant des filtres de recherche, des champs spécifiques dans les listes et des actions personnalisées comme "marquer un livre comme emprunté"

Après-midi

Structurer ses vues en classes

  • Principe de "Class View"
  • Requêtes HTTP, templates, variables de contexte
  • Afficher un modèle dans une Class View
  • Gérer un formulaire dans une Class View
  • Les mixins et les Class View

Exemples de travaux pratiques (à titre indicatif)

  • Implémenter des Class-Based Views (CBV) pour afficher et gérer des objets
    • Utiliser les vues génériques basées sur des classes (CBV) pour implémenter les opérations CRUD sur les livres (ListView, DetailView, CreateView, UpdateView, DeleteView)
    • Gérer les variables de contexte et la logique métier au sein des CBV

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 modèles et rendu format JSON / XML / MessagePack
  • Routing d'actions supplémentaires

Exemples de travaux pratiques (à titre indicatif)

  • Développer une API RESTful avec Django REST Framework (DRF)
    • Configurer Django REST Framework pour exposer une API qui gère les livres et les auteurs en utilisant des ViewSet et ModelSerializer
    • Créer des endpoints RESTful permettant la création, modification et suppression de livres en format JSON

Jour 4 - Packager un site en production

Matin

Notions avancées REST

  • Valider le contenu
  • Gérer les versions d'une API
  • Caching et ETag
  • Authentification et permissions d'un client

Exemples de travaux pratiques (à titre indicatif)

  • Implémenter la gestion des versions et de l'authentification sur une API REST
    • Mettre en place la gestion des versions pour l'API (via versioning dans DRF) et intégrer un mécanisme d'authentification basique (Token Auth ou OAuth2) pour restreindre l'accès à certaines parties de l'API

Tests avec Django et DRF

  • Mise en place de tests Python avec les TestCases
  • 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 serveur Web

Exemples de travaux pratiques (à titre indicatif)

  • Ecrire des tests automatisés pour les vues et l'API REST
    • Implémenter des tests unitaires et fonctionnels pour valider le bon fonctionnement des vues et de l'API REST
    • Utiliser TestCase pour tester le comportement de l'API et s'assurer que les réponses HTTP sont correctes avec les données en base

Après-midi

Avoir un site en multilingue

  • Préparer le code pour l'internationalisation
  • Générer les traductions
  • Activer différentes langues dans Django
  • Traductions en JavaScript

Exemples de travaux pratiques (à titre indicatif)

  • Internationaliser et localiser l'application Django
    • Préparer l'application pour l'internationalisation (i18n) en configurant le support multilingue, générer les fichiers de traduction (.po) et permettre le basculement dynamique entre plusieurs langues (anglais, français...)

Configuration d'une application en production

  • Multi-configuration de base de données, flags
  • Provisionner une machine de développement avec Vagrant
  • Workflow avec Nginx et Gunicorn
  • Automatisation du déploiement avec Fabric et Ansible
  • Isoler son application avec Docker

Exemples de travaux pratiques (à titre indicatif)

  • Configurer et déployer l'application Django dans un environnement de production avec Docker
    • Utiliser Docker pour conteneuriser l'application Django, configurer Gunicorn comme serveur d'application WSGI, et utiliser Nginx comme serveur proxy
    • Automatiser le déploiement et la gestion de la configuration avec Ansible et Fabric
Public visé

Développeurs Web et chefs de projets.

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.

Choisissez une date pour pouvoir réserver !

Autres formations disponibles :
formation
Cayenne (97300)
PYTHON
Prochaines sessions disponibles :01 août01 sept.01 oct.01 nov.
Qualiopi
En centre
Éligible CPF
Prochaines sessions disponibles :04 août11 août18 août25 août
Qualiopi
En visio
Non éligible CPF
Prochaines sessions disponibles :04 août11 août18 août25 août
Qualiopi
En visio
Non éligible CPF
Prochaines sessions disponibles :10 sept.03 nov.03 déc.
Qualiopi
En centre
Non éligible CPF
formation
Labège (31670)
Pandas avancé
Prochaines sessions disponibles :15 sept.16 mars
Qualiopi
En centre
Non éligible CPF
logo ouformer
Réalisation :Definima
Utilisation des cookies

Nous utilisons des cookies pour vous fournir l'ensemble de nos services, notamment la recherche et les alertes. En acceptant, vous consentez à notre utilisation de ces cookies.

Tout refuser
Tout accepter