Django_rest-framework自動生成インタフェースドキュメント
5764 ワード
依存パッケージのインストール
pip install coreapi
settingsの構成
REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS':
'rest_framework.schemas.coreapi.AutoSchema'
}
ルーティングの設定
from rest_framework.documentation import include_docs_urls
urlpatterns = [
...
url(r'^docs/', include_docs_urls(title='My API title'))
]
ドキュメント記述の定義位置
1>単一スキーマのビューで、クラスビューを使用するドキュメント文字列を直接使用できます.
class BookListView(generics.ListAPIView):
""" . """
2>複数のスキーマを含むビュー.クラスビューのドキュメント文字列で、スキーマ定義を分割します.
class BookListCreateView(generics.ListCreateAPIView):
"""
get:
.
post:
.
"""
3>ビューセットViewSetについては、クラスビューのドキュメント文字列で定義されていますが、アプリケーション名を区別する必要があります.
class BookInfoViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, GenericViewSet):
"""
list:
retrieve:
latest:
read:
"""
アクセスネットワーク
ブラウザアクセス127.0.0.1:8000/docs/で、
2点説明:1>ビューセットViewSetのretrieve名は、受信ファイル通信局でreadと呼ばれます.
class BookInfo(models.Model):
...
bread = models.IntegerField(default=0, verbose_name=' ',
help_text=' ')
...
2>パラメータのDescriptionは、モデルクラスまたはシーケンサクラスのフィールドでhelp_textオプション定義:
class BookReadSerializer(serializers.ModelSerializer):
class Meta:
model = BookInfo
fields = ('bread', )
extra_kwargs = {
'bread': {
'required': True,
'help_text': ' '
}
}