本帖最后由 唐伯虎(0) 于 2018-11-8 11:34 编辑
环境配置 : 1. 安装DRF pip install djangorestframework
2. 添加rest_framework应用
INSTALLED_APPS = [ ... 'rest_framework',]
基本使用:
1. 创建序列化器
在应用中新建serializers.py用于保存该应用的序列化器。 创建一个BookInfoSerializer用于序列化与反序列化。 class BookInfoSerializer(serializers.ModelSerializer):
"""图书数据序列化器"""
class Meta:
model = BookInfo
fields = '__all__'
model 指明该序列化器处理的数据字段从模型类BookInfo参考生成
fields 指明该序列化器包含模型类中的哪些字段,'__all__'指明包含所有字段
2. 编写视图 在应用的views.py中创建视图BookInfoViewSet,这是一个视图集合。 from rest_framework.viewsets import ModelViewSet
from .serializers import BookInfoSerializer
from .models import BookInfoclass
BookInfoViewSet(ModelViewSet):
queryset = BookInfo.objects.all()
serializer_class = BookInfoSerialize
- queryset 指明该视图集在查询数据时使用的查询集
- serializer_class 指明该视图在进行序列化或反序列化时使用的序列化器
3. 定义路由 在应用的urls.py中定义路由信息。 from . import views
from rest_framework.routers import DefaultRouter
urlpatterns = [ ...]
router = DefaultRouter() # 可以处理视图的路由器
router.register(r'books', views.BookInfoViewSet) # 向路由器中注册视图集
urlpatterns += router.urls # 将路由器中的所以路由信息追到到django的路由列表中
4. 运行测试
运行当前程序(与运行Django一样) python manage.py runserver 在浏览器中输入网址127.0.0.1:8000,可以看到DRF提供的API Web浏览页面:
|