使用REST framework


安裝

$ pip install djangorestframework $ pip install markdown 

概述

Django Rest framework 的流程大概是這樣的

  1. 建立 Models
  2. 依靠 Serialiers 將數據庫取出的數據 Parse 為 API 的數據(可用於返回給客戶端,也可用於瀏覽器顯示)
  3. ViewSet 是一個 views 的集合,根據客戶端的請求(GET、POST等),返回 Serialiers 處理的數據
    • 權限 Premissions 也在這一步做處理
  4. ViewSet 可在 Routers 進行注冊,注冊后會顯示在 Api Root 頁上
  5. 在 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   # 表聯系深度

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM