Django REST Framework (DRF)

 

1. Définitions des termes utilisés

  1. API (Application Programming Interface) : Interface qui permet à différentes applications de communiquer entre elles. Exemple : Votre frontend React communique avec votre backend Django via une API
  2. REST (Representational State Transfer) : Architecture standard pour créer des APIs web Utilise les verbes HTTP (GET, POST, PUT, DELETE) Sans état (stateless) et structuré
  3. DRF (Django REST Framework) : Bibliothèque Django puissante pour créer des APIs REST. Ajoute des fonctionnalités spécifiques aux APIs
  4. Serializer : Convertit les données Django (modèles) en JSON/XML. Valide les données entrantes. Similaire aux forms Django mais pour les APIs
 

2. Installation & Configuration des outils nécessaires

2.1 Installation

2.1 Réglage : Ajouter dans settings.py

Afin de faire fonctionner le framework 'rest_framework', nous devons l'ajouter à la liste des applications installées au niveau du fichier settings.py:

 

3. A propos du package 'rest_framework'

'rest_framework' est le nom du package Python qui contient Django REST Framework (DRF).

Qu'est-ce que c'est ?

  1. Package officiel (rest_framework) : Le nom exact à installer via pip et utilisé dans l'écosystème Python
  2. Collection de modules : Ensemble d'outils spécialisés pour les APIs. 'rest_framework' n'est pas un outil unique mais une boîte à outils complète formée de plusieurs modules. Chaque module a un rôle spécifique dans la création d'APIs.
  3. Extension de Django : S'intègre parfaitement avec l'écosystème Django existant. DRF étend Django, ne le remplace pas, mais il utilise les composants Django existants tout en respectant les patterns et conventions de Django.
  4. Structure du package :
  5. Importance dans le code :
 

4. Exemple concret d'usage de 'rest_framework'

Nous allons voir dans un exemple simple de plateforme e-commerce, comment utiliser le package 'rest_framework':

4.1 Modèle (models.py)

4.2 Serializer (serializers.py)

4.3 View (views.py) - Méthode la plus simple

4.4 URLs (urls.py)

 

5. Utilisation de l'API

Nous montrons dans ce paragraphe, comment créer, lister et récupérer des produits

5.1 Créer un produit (POST)

5.2 Lister tous les produits (GET)

5.3 Récupérer un produit spécifique (GET)

5.4 Mise à jour (PUT)

5.5 Suppression (DELETE)

 

6. Version avec APIView (plus de contrôle)

6.1 Pourquoi APIView donne plus de contrôle?

Avec generics (ListCreateAPIView, RetrieveUpdateDestroyAPIView):

Tout est pré-défini : Les méthodes HTTP sont gérées automatiquement

  1. Peu de personnalisation possible
  2. Rapide mais rigide

Avec APIView:

  1. Vous écrivez chaque méthode manuellement
  2. Contrôle total sur la logique métier

Personnalisation avancée possible

Configuration DRF (settings.py)

 

7. Conclusion : Points Clés à Retenir

Nous devons finalement retenir le nom et la fonction de chaque classe du framework 'rest_framework'

  1. Serializer : Conversion données Django ↔ JSON
  2. APIView : Vue spécialisée pour les APIs
  3. Generics : Vues préfaites (CRUD automatique)
  4. URLs : Point d'entrée de l'API
  5. HTTP Methods : GET(lire), POST(créer), PUT(modifier), DELETE(supprimer)

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply

Your email address will not be published. Required fields are marked *