Ricerca…


API di sola lettura barebone semplice

Supponendo che tu abbia un modello che assomiglia a quanto segue, ci metteremo a correre con un'API di sola lettura barebone semplice guidata da 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)

Il serializzatore è il componente che prenderà tutte le informazioni dal modello Django (in questo caso il FeedItem ) e lo trasformerà in JSON. È molto simile alla creazione di classi di form in Django. Se hai esperienza in questo, questo sarà molto comodo per te.

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 offre molte classi di visualizzazione per gestire una varietà di casi d'uso. In questo esempio, avremo solo un'API di sola lettura , quindi, anziché utilizzare un viewet più completo o una serie di viste generiche correlate, utilizzeremo una singola sottoclasse di ListAPIView di DRF.

Lo scopo di questa classe è di collegare i dati con il serializzatore e avvolgerli tutti insieme per un oggetto risposta.

from rest_framework import generics
from . import serializers, models

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

urls.py

Assicurati di puntare il percorso verso la tua vista DRF.

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow