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