Sök…


Enkla barebones skrivskyddade API

Förutsatt att du har en modell som ser ut som följer, kommer vi igång med en enkel skrivbords - API för barebones som drivs av Django REST Framework ("DRF").

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)

Serien är den komponent som tar all information från Django-modellen (i detta fall FeedItem ) och förvandlar den till JSON. Det liknar mycket att skapa formklasser i Django. Om du har någon erfarenhet av detta kommer detta att vara mycket bekvämt för dig.

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 erbjuder många visningsklasser för att hantera olika användningsfall. I det här exemplet kommer vi bara att ha ett skrivskyddat API, så vi kommer att använda en enda underklass i DRFs ListAPIView , snarare än att använda en mer omfattande visningsuppsättning , eller ett gäng relaterade generiska vyer.

Syftet med den här klassen är att länka informationen till serien, och linda samman allt för ett svarobjekt.

from rest_framework import generics
from . import serializers, models

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

urls.py

Se till att du pekar din väg till din DRF-vy.

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow