使用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
|
1
2
3
4
|
INSTALLED_APPS = [ ... 'rest_framework',] |
2.路由注册:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
from rest_framework import routersfrom app import viewsrouter = routers.DefaultRouter()# router = routers.SimpleRouter()router.register(r'users', views.UserInfoViewSet)urlpatterns = [ url(r'^', include(router.urls)),] |
3.编写Viewset(视图函数)
|
1
2
3
4
5
6
7
8
9
10
11
12
|
from rest_framework import viewsetsfrom app import modelsfrom 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验证及数据库操作)
|
1
2
3
4
5
6
7
8
9
|
from rest_framework import serializersfrom app import modelsclass UserInfoSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = models.UserInfo # fields = ('id', 'username', 'pwd','ug') # fields = '__all__' #显示的字段 exclude = ('ug',) #除此外的字段 depth = 1 # 0<=depth<=10 # 表联系深度 |

浙公网安备 33010602011771号