Exercice 4 Django Framework Corrigé S1
1. Installer et configurer Django Rest Framework (DRF)
Commencez par installer Django Rest Framework si ce n'est pas déjà fait.
pip install djangorestframework
Ensuite, ajoutez rest_framework
à la liste des applications installées dans le fichier settings.py
.
settings.py
INSTALLED_APPS = [
...
'rest_framework',
]
2. Créer le modèle Task
Dans le fichier models.py
, créez le modèle Task
avec les champs demandés.
models.py
# app/models.py
from django.db import models
class Task(models.Model):
title = models.CharField(max_length=255)
description = models.TextField()
completed = models.BooleanField(default=False)
def __str__(self):
return self.title
3. Créer un serializer pour le modèle Task
Un serializer est utilisé pour convertir les instances du modèle en JSON (et inversement). Créez un fichier serializers.py
et ajoutez le code suivant.
serializers.py
# app/serializers.py
from rest_framework import serializers
from .models import Task
class TaskSerializer(serializers.ModelSerializer):
class Meta:
model = Task
fields = ['id', 'title', 'description', 'completed']
4. Créer des vues API pour les tâches
Dans le fichier views.py
, implémentez des vues API en utilisant des viewsets ou des class-based views (CBV) pour gérer les opérations CRUD.
views.py
# app/views.py
from rest_framework import viewsets
from .models import Task
from .serializers import TaskSerializer
class TaskViewSet(viewsets.ModelViewSet):
queryset = Task.objects.all()
serializer_class = TaskSerializer
Le TaskViewSet
permet de gérer toutes les opérations CRUD de manière simple. Il inclut des fonctionnalités pour lister, créer, mettre à jour et supprimer des tâches.
5. Configurer les URL
Ensuite, configurez les URL pour votre API. Dans le fichier urls.py
de l'application, ajoutez le code suivant pour définir les routes de l'API.
urls.py
# app/urls.py
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import TaskViewSet
router = DefaultRouter()
router.register(r'tasks', TaskViewSet)
urlpatterns = [
path('', include(router.urls)),
]
6. Tester l'API avec Postman ou cURL
Lancez le serveur de développement avec la commande :
python manage.py runserver
Pas encore de commentaires.
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.