Django
Django Rest Framework
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()),
]