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': '   '            			
				}        
		}