Aujourd’hui, les API REST sont indispensables pour connecter des applications web, mobiles et des services tiers. Dans ce guide complet, vous apprendrez pas à pas comment créer une API avec Django Rest Framework (DRF), la sécuriser, puis l’utiliser dans une application frontend ou mobile.
Cet article est conçu pour les débutants mais respecte les standards professionnels utilisés en entreprise.
Chez Akamasoft, nous développons des solutions API modernes, sécurisées et évolutives pour les entreprises africaines et internationales.
Une API permet à plusieurs applications de communiquer entre elles.
[ Application Mobile ] | v [ API Django REST ] | v [ Base de données ]
L’API agit comme un intermédiaire sécurisé entre le client (mobile, web) et la base de données.
pip install django djangorestframework
Création du projet :
django-admin startproject api_project cd api_project
Création de l’application :
python manage.py startapp api
Ajoutez dans settings.py :
settings.py
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'api', ]
from django.db import models class Produit(models.Model): nom = models.CharField(max_length=150) description = models.TextField() prix = models.DecimalField(max_digits=10, decimal_places=2) date_creation = models.DateTimeField(auto_now_add=True) def __str__(self): return self.nom
Appliquer les migrations :
python manage.py makemigrations python manage.py migrate
---
from rest_framework import serializers from .models import Produit class ProduitSerializer(serializers.ModelSerializer): class Meta: model = Produit fields = '__all__'
from rest_framework import viewsets from .models import Produit from .serializers import ProduitSerializer class ProduitViewSet(viewsets.ModelViewSet): queryset = Produit.objects.all() serializer_class = ProduitSerializer
from django.urls import path, include from rest_framework.routers import DefaultRouter from .views import ProduitViewSet router = DefaultRouter() router.register(r'produits', ProduitViewSet) urlpatterns = [ path('api/v1/', include(router.urls)), ]
➡️ URL finale :
http://127.0.0.1:8000/api/v1/produits/
REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.TokenAuthentication', ], 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAuthenticated', ], }
pip install djangorestframework-authtoken python manage.py migrate
Outils recommandés :
Header requis :
Authorization: Token VOTRE_TOKEN
[ Client ] | [ NGINX ] | [ Django API ] | [ Redis / Database ]
fetch('http://localhost:8000/api/v1/produits/', { headers: { 'Authorization': 'Token VOTRE_TOKEN' } }) .then(res => res.json()) .then(data => console.log(data));
[ React / Flutter / Vue ] | v [ API Django ] | v [ Base de données ]
Vous savez maintenant créer une API REST complète, sécurisée et prête pour la production avec Django Rest Framework.
Chez Akamasoft, nous accompagnons les entreprises dans le développement d’API modernes, performantes et sécurisées, adaptées aux réalités du marché africain et international.
Découvrez nos actualités, conseils et tutoriels pour rester à jour
Dans ce tutoriel, nous allons implémente...
Découvre Capacitor, le dernier-né...
Concept vraiment simple aujourd'hui les gars! U...
Le langage de programmation Python est en t&eci...
Inscription en cours...
Restez informé de nos dernières actualités et recevez nos meilleurs conseils !
Chargement du formulaire de devis...