REST - Representational State Transfer
Framework Django
Django
Django est un framework qui permet de développer des applications Web et des services Web en Python. Son design est très semblable à celui de Rails et il a pour volonté de rendre le développement simple et très rapide.
Django se base aussi sur le principe du MVC vu avec Rails mais à la difference qu'au lieu d'implémenter le comportement d'une ressource en respectant une interface uniforme et de le définir au niveau d'une classe contrôleur cela se fait au niveau de la "vue".
Méthodes d'implémentations
Dans un premier temps il faut déterminer l'ensemble des données et de mettre en place un modèle qui sera mappé au niveau d'une base de données relationnelle avec les outils ORM (object-relational mapping) de Django.
Ensuite il faut mettre en oeuvre les ressources et définir les URI pour celles-ci. Pour ce faire il faut utiliser le module Python
URLconf pour décrire comment associer une URL avec un code Python donné.
La définition se fait à l'aide d'expressions rationnelles
associées à un nom de module ou paquetage Python : quand l'expression rationnelle est reconnu lors d'une requête alors la fonction du module
associé est chargée.
Une URLconf créée, par défaut, est consigné dans un fichier de configuration qui s'appelle urls.py.
L'étape suivante consiste à écrire les vues pour les ressources. Elles sont à définir dans le fichier views.py. En fait il
va falloir implémenter les méthodes correspondantes aux définitions d'URI vu dans le fichier urls.py .
Voici un exemple très simple pour montrer comment s'écrirait cette méthode :
from django.http import HttpResponse def index(request): return HttpResponse("Bonjour vous êtes dans l'index des livres.")
La méthode importante ici est HttpResponse qui va renfermer le contenu de la page demandée, en l'occurence ici ce sera la page à l'URI /books/ qui a été préalablement associée à l'URLconf (r'^books/$', 'monsite.books.views.index').
Dans cette méthode on pourra implémenter la vue qui pourra prendre n'importe laquelle représentation : HTML, XML, PDF, une image. Ce que l'on veut tant que la méthode HttpResponse est utilisée. Sinon il possible de lever une exception du type Http404 pour indiquer que la page demandée n'existe pas si on ne veut pas implémenter de vue pour cette ressource.