Django
Django Rest Framework
サーチ…
シンプルなベアボーンの読み取り専用API
次のようなモデルがあると仮定すると、Django REST Framework(「DRF」)によって駆動される単純なベアボーンの読み取り専用 APIを使用してランニングを開始します。
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)
シリアライザは、Djangoモデル(この場合はFeedItem
)からすべての情報を取得し、JSONに変換するFeedItem
です。 Djangoでフォームクラスを作成するのと非常によく似ています。経験があれば、これはとても快適です。
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は、さまざまなユースケースを処理するための多くのビュークラスを提供します。この例では、 読み込み専用 API のみを使用するため、より包括的なビューセットや関連する汎用ビューを使用するのではなく、DRFのListAPIView
単一サブクラスを使用します。
このクラスの目的は、データをシリアライザにリンクし、レスポンスオブジェクト用にすべてまとめてラップすることです。
from rest_framework import generics
from . import serializers, models
class FeedItemList(generics.ListAPIView):
serializer_class = serializers.FeedItemSerializer
queryset = models.FeedItem.objects.all()
urls.py
ルートが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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow