Fantastische webbrowsbare Web-APIs.
Die vollständige Dokumentation des Projekts ist unter https://www.django-rest-framework.org/ verfügbar.
Das REST-Framework ist ein gemeinsam finanziertes Projekt . Wenn Sie das REST-Framework kommerziell nutzen, empfehlen wir Ihnen dringend, in seine Weiterentwicklung zu investieren, indem Sie sich für einen kostenpflichtigen Plan anmelden.
Das ursprüngliche Ziel besteht darin, eine einzige Vollzeitstelle für das REST-Framework bereitzustellen. Jede einzelne Anmeldung leistet einen erheblichen Beitrag dazu, dies zu ermöglichen.
Vielen Dank an alle unsere wunderbaren Sponsoren und insbesondere an unsere Premium-Unterstützer Sentry, Stream, Spacinov, Retool, bit.io, PostHog, CryptAPI, FEZTO, Svix und Zuplo.
Das Django REST-Framework ist ein leistungsstarkes und flexibles Toolkit zum Erstellen von Web-APIs.
Einige Gründe, warum Sie das REST-Framework verwenden möchten:
Unten : Screenshot der durchsuchbaren API
Wir empfehlen dringend und unterstützen offiziell nur die neueste Patch-Version jeder Python- und Django-Serie.
Mit pip
installieren ...
pip install djangorestframework
Fügen Sie 'rest_framework'
zu Ihrer INSTALLED_APPS
Einstellung hinzu.
INSTALLED_APPS = [
...
'rest_framework' ,
]
Werfen wir einen Blick auf ein kurzes Beispiel für die Verwendung des REST-Frameworks zum Erstellen einer einfachen modellgestützten API für den Zugriff auf Benutzer und Gruppen.
Starten Sie ein neues Projekt wie folgt ...
pip install django
pip install djangorestframework
django-admin startproject example .
./manage.py migrate
./manage.py createsuperuser
Bearbeiten Sie nun das Modul example/urls.py
in Ihrem Projekt:
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' )),
]
Wir möchten auch einige Einstellungen für unsere API konfigurieren.
Fügen Sie Ihrem settings.py
Modul Folgendes hinzu:
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' ,
]
}
Das war's, wir sind fertig!
./manage.py runserver
Sie können jetzt die API in Ihrem Browser unter http://127.0.0.1:8000/
öffnen und Ihre neue „Benutzer“-API anzeigen. Wenn Sie das Login
Steuerelement in der oberen rechten Ecke verwenden, können Sie auch Benutzer zum System hinzufügen, erstellen und löschen.
Sie können mit der API auch über Befehlszeilentools wie curl
interagieren. Um beispielsweise den Endpunkt des Benutzers aufzulisten:
$ 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,
}
]
Oder um einen neuen Benutzer zu erstellen:
$ 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,
}
Die vollständige Dokumentation des Projekts ist unter https://www.django-rest-framework.org/ verfügbar.
Für Fragen und Unterstützung nutzen Sie die REST-Framework-Diskussionsgruppe oder #restframework
auf libera.chat IRC.
Bitte beachten Sie die Sicherheitsrichtlinie.