Suche…


Einfache Barebones-API (schreibgeschützt)

Vorausgesetzt, Sie haben ein Modell, das wie folgt aussieht, werden wir mit einer einfachen , nur mit Barebones ausgestatteten schreibgeschützten API beginnen, die von Django REST Framework ("DRF") gesteuert wird.

models.py

class FeedItem(models.Model):
    title = models.CharField(max_length=100, blank=True)
    url = models.URLField(blank=True)
    style = models.CharField(max_length=100, blank=True)
    description = models.TextField(blank=True)

Der Serializer ist die Komponente, die alle Informationen aus dem Django-Modell (in diesem Fall das FeedItem ) in JSON FeedItem . Es ist dem Erstellen von Formularklassen in Django sehr ähnlich. Wenn Sie Erfahrung damit haben, wird dies für Sie sehr angenehm sein.

serializers.py

from rest_framework import serializers
from . import models

class FeedItemSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.FeedItem
        fields = ('title', 'url', 'description', 'style')

views.py

DRF bietet viele Ansichtsklassen für eine Vielzahl von Anwendungsfällen. In diesem Beispiel verfügen wir nur über eine schreibgeschützte API. Anstelle eines umfassenderen Viewets oder einer Reihe verwandter generischer Ansichten verwenden wir eine einzige Unterklasse von ListAPIView .

Der Zweck dieser Klasse besteht darin, die Daten mit dem Serialisierer zu verknüpfen und alle für ein Antwortobjekt zusammenzufassen.

from rest_framework import generics
from . import serializers, models

class FeedItemList(generics.ListAPIView):
    serializer_class = serializers.FeedItemSerializer
    queryset = models.FeedItem.objects.all()

urls.py

Stellen Sie sicher, dass Sie Ihre Route auf Ihre DRF-Ansicht zeigen.

from django.conf.urls import url
from . import views

urlpatterns = [
    ...
    url(r'path/to/api', views.FeedItemList.as_view()),
]


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow