Superbes API Web consultables sur le Web.
La documentation complète du projet est disponible sur https://www.django-rest-framework.org/.
Le cadre REST est un projet financé en collaboration . Si vous utilisez le framework REST à des fins commerciales, nous vous encourageons fortement à investir dans son développement continu en souscrivant à un forfait payant.
L'objectif initial est de proposer un poste unique à temps plein sur le framework REST. Chaque inscription a un impact significatif pour rendre cela possible.
Un grand merci à tous nos merveilleux sponsors, et en particulier à nos contributeurs premium, Sentry, Stream, Spacinov, Retool, bit.io, PostHog, CryptAPI, FEZTO, Svix et Zuplo.
Le framework Django REST est une boîte à outils puissante et flexible pour créer des API Web.
Quelques raisons pour lesquelles vous pourriez vouloir utiliser le framework REST :
Ci-dessous : Capture d'écran de l'API navigable
Nous recommandons fortement et ne prenons en charge officiellement que la dernière version de correctif de chaque série Python et Django.
Installer en utilisant pip
...
pip install djangorestframework
Ajoutez 'rest_framework'
à votre paramètre INSTALLED_APPS
.
INSTALLED_APPS = [
...
'rest_framework' ,
]
Jetons un coup d'œil à un exemple rapide d'utilisation du framework REST pour créer une API simple basée sur un modèle pour accéder aux utilisateurs et aux groupes.
Démarrez un nouveau projet comme ça...
pip install django
pip install djangorestframework
django-admin startproject example .
./manage.py migrate
./manage.py createsuperuser
Modifiez maintenant le module example/urls.py
dans votre projet :
from django . contrib . auth . models import User
from django . urls import include , path
from rest_framework import routers , serializers , viewsets
# Serializers define the API representation.
class UserSerializer ( serializers . HyperlinkedModelSerializer ):
class Meta :
model = User
fields = [ 'url' , 'username' , 'email' , 'is_staff' ]
# ViewSets define the view behavior.
class UserViewSet ( viewsets . ModelViewSet ):
queryset = User . objects . all ()
serializer_class = UserSerializer
# Routers provide a way of automatically determining the URL conf.
router = routers . DefaultRouter ()
router . register ( r'users' , UserViewSet )
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
path ( '' , include ( router . urls )),
path ( 'api-auth/' , include ( 'rest_framework.urls' , namespace = 'rest_framework' )),
]
Nous aimerions également configurer quelques paramètres pour notre API.
Ajoutez ce qui suit à votre module settings.py
:
INSTALLED_APPS = [
... # Make sure to include the default installed apps here.
'rest_framework' ,
]
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
'DEFAULT_PERMISSION_CLASSES' : [
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ,
]
}
Ça y est, c'est fini !
./manage.py runserver
Vous pouvez maintenant ouvrir l'API dans votre navigateur à http://127.0.0.1:8000/
et afficher votre nouvelle API « utilisateurs ». Si vous utilisez le contrôle Login
dans le coin supérieur droit, vous pourrez également ajouter, créer et supprimer des utilisateurs du système.
Vous pouvez également interagir avec l'API à l'aide d'outils de ligne de commande tels que curl
. Par exemple, pour répertorier le point de terminaison des utilisateurs :
$ curl -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
[
{
"url": "http://127.0.0.1:8000/users/1/",
"username": "admin",
"email": "[email protected]",
"is_staff": true,
}
]
Ou pour créer un nouvel utilisateur :
$ curl -X POST -d username=new -d [email protected] -d is_staff=false -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
{
"url": "http://127.0.0.1:8000/users/2/",
"username": "new",
"email": "[email protected]",
"is_staff": false,
}
La documentation complète du projet est disponible sur https://www.django-rest-framework.org/.
Pour toute question et assistance, utilisez le groupe de discussion sur le framework REST ou #restframework
sur libera.chat IRC.
Veuillez consulter la politique de sécurité.