使用REST framework
安装
$ pip install djangorestframework
$ pip install markdown
概述
Django Rest framework 的流程大概是这样的
- 建立 Models
- 依靠 Serialiers 将数据库取出的数据 Parse 为 API 的数据(可用于返回给客户端,也可用于浏览器显示)
- ViewSet 是一个 views 的集合,根据客户端的请求(GET、POST等),返回 Serialiers 处理的数据
- 权限 Premissions 也在这一步做处理
- ViewSet 可在 Routers 进行注册,注册后会显示在 Api Root 页上
- 在 urls 里注册 ViewSet 生成的 view,指定监听的 url
简单应用
1.settings中注册APP
INSTALLED_APPS = [ ... 'rest_framework', ]
2.路由注册:
from rest_framework import routers from app import views router = routers.DefaultRouter() # router = routers.SimpleRouter() router.register(r'users', views.UserInfoViewSet) urlpatterns = [ url(r'^', include(router.urls)), ]
3.编写Viewset(视图函数)
from rest_framework import viewsets from app import models from app import serializers # ########### 1. 基本处理方式 ########### class UserInfoViewSet(viewsets.ModelViewSet): """ API endpoint that allows users to be viewed or edited. """ queryset = models.UserInfo.objects.all().order_by('-id') serializer_class = serializers.UserInfoSerializer
4.编写serializers(Form验证及数据库操作)
from rest_framework import serializers from app import models class UserInfoSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = models.UserInfo # fields = ('id', 'username', 'pwd','ug') # fields = '__all__' #显示的字段 exclude = ('ug',) #除此外的字段 depth = 1 # 0<=depth<=10 # 表联系深度