Django Rest Framework 给 Django 提供了一套 Restful 规范的 API,并提供了配套的一系列功能,如认证、鉴权、限速等,同时还提供了 UI 的测试界面。
pip install djangorestframework
结合 Django 的 Model,开发一个 Restful API 只需要 3 步
创建 Model 的序列化类 Serializer
Serializer 是序列化类,用于 Model 对象和 API Json 结构的相互转换。最简单的实现如下所示。
class TextSerializer(serializers.ModelSerializer):
class Meta:
model = BookInfo
fields = '__all__'
- model 指明该序列化器处理的数据字段从模型类BookInfo参考生成
- fields 指明该序列化器包含模型类中的哪些字段,'__all__'指明包含所有字段
创建视图 View
视图分为三类:方法视图,类视图,基于 Model 的 ViewSet。
from rest_framework.viewsets import ModelViewSet
from .serializers import BookInfoSerializer
from .models import BookInfo
#ModelViewSet继承自GenericViewSet
,同时包括了ListModelMixin、RetrieveModelMixin、CreateModelMixin、UpdateModelMixin、DestoryModelMixin
#所以包含查询的列表信息,单一,增加, 更新,删除
class = TextViewSet(ModelViewSet):
queryset = BookInfo.objects.all()
serializer_class = BookInfoSerializer
绑定路由
router = DefaultRouter()
router.register('text', views_old.TextViewSet
, base_name='text')
urlpatterns += router.urls