Looking for django-rest-framework Keywords? Try Ask4Keywords

django-rest-frameworkErste Schritte mit dem Django-Rest-Framework


Bemerkungen

Django REST Framework ist ein Toolkit zum Erstellen von Web-Apps. Es hilft dem Programmierer, REST-APIs auszuführen , kann jedoch mit weniger ausgereiften API-Ebenen umgehen. Weitere Informationen zu API-Reifegraden finden Sie in Richardson's Maturity Model.

Insbesondere unterstützt das Django REST Framework kein bestimmtes Layout auf Hypermedia-Ebene, und der Programmierer (oder andere Projekte wie srf-hal-json ) müssen, wenn sie eine HATEOAS-API-Implementierung durchführen möchten, die Festlegung dieser Parameter vornehmen Meinungen außerhalb des Rahmens. So ist es möglich, eine HATEOAS-API im Django-REST-Framework zu implementieren, es sind jedoch keine bereits verfügbaren Dienstprogramme vorhanden.

Versionen

Ausführung Veröffentlichungsdatum
3.5.3 2016-11-07

Beispiel

Schauen wir uns ein schnelles Beispiel für die Verwendung einer REST-Framework zum Erstellen einer einfachen modellgestützten API an.

Wir erstellen eine Lese / Schreib-API für den Zugriff auf Informationen zu den Benutzern unseres Projekts.

Alle globalen Einstellungen für eine REST-Framework-API werden in einem einzigen Konfigurationswörterbuch namens REST_FRAMEWORK . Beginnen Sie, indem Sie Ihrem Modul " settings.py Folgendes hinzufügen:

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'
    ]
}
 

Wir können jetzt unsere API erstellen. Hier ist das Modul urls.py unseres Projekts:

from django.conf.urls import url, include
from django.contrib.auth.models import User
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 an easy 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 = [
    url(r'^', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]
 

Sie können die API jetzt 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 hinzufügen, erstellen und aus dem System löschen.

Installieren oder einrichten

Bedarf

  • Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6)
  • Django (1,7+, 1,8, 1,9, 1,10, 1,11)

Installieren

Sie können entweder pip , um das Projekt von github aus zu installieren oder zu klonen.

  • Mit pip :

    pip install djangorestframework
     
  • Mit git clone :

    git clone git@github.com:tomchristie/django-rest-framework.git
     

Nach der Installation müssen Sie den INSTALLED_APPS Einstellungen rest_framework INSTALLED_APPS .

INSTALLED_APPS = (
    ...
    'rest_framework',
)
 

Wenn Sie die durchsuchbare API verwenden möchten, möchten Sie wahrscheinlich auch die Anmelde- und Abmelde-Ansichten von REST Framework hinzufügen. Fügen Sie der Root-Datei urls.py Folgendes hinzu.

urlpatterns = [
    ...
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]