安裝
$ 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',
]
IDEA REST Client、
2.路由注冊:
from rest_framework import routers
from app import viewsrouter = 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 modelsclass UserInfoSerializer(serializers.HyperlinkedModelSerializer):class Meta:model = models.UserInfo# fields = ('id', 'username', 'pwd','ug') # fields = '__all__' #顯示的字段exclude = ('ug',) #除此外的字段depth = 1 # 0<=depth<=10 # 表聯系深度