django-rest-framework

REST是它是一種架構風格 。REST就是經過使用HTTP協議和URI,利用client/server對資源進行CRUD操做。
REST優勢:
1.客戶端-服務端分離
優勢:提升用戶界面的便攜性,經過簡化服務器提升可伸縮性
2..無狀態(Stateless):從客戶端的每一個請求要包含服務器所須要的全部信息
優勢:提升可見性(能夠單獨考慮每一個請求),提升了可靠性(更容易從局部故障中修復),提升可擴展性(下降了服務器資源使用)
3.緩存(Cachable):服務器返回信息必須被標記是否能夠緩存,若是緩存,客戶端可能會重用以前的信息發送請求
優勢:減小交互次數,減小交互的平均延遲
4.統一接口
優勢:提升交互的可見性,鼓勵單獨改善組件
5.支持按需代碼(Code-On-Demand 可選)
優勢:提升可擴展性web

Django REST framework(如下簡稱 DRF)是一個開源的 Django 擴展,提供了便捷的 REST API 開發框架,擁有如下特性:
直觀的 API web 界面。
多種身份認證和權限認證方式的支持。
內置了 OAuth1 和 OAuth2 的支持。
內置了限流系統。
根據 Django ORM 或者其它庫自動序列化。
豐富的定製層級:函數視圖、類視圖、視圖集合到自動生成 API,知足各類須要。
可擴展性,插件豐富。
普遍使用,文檔豐富。sql

簡單的使用:
1,安裝與配置
pip install djangorestframework數據庫

settings.py 安裝子應用 django

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mytest',
    'mysite',
    'myapp',
    'supermarket',
    "rest_framework",
]

2,建立序列化 serializers.pyjson

#導入序列化庫
from rest_framework import serializers
#導入數據庫類
from supermarket.models import Product
#定義序列化類
class ProductSerializers(serializers.ModelSerializer):
    #定義內置類  
    class Meta:
        #指定序列化的字段
        model = Product
        # fields = ('id','name','price','count')
        #取全部的字段
        fields = "__all__"

3,views.py 定義json接口緩存

#導入視圖類
from rest_framework import viewsets
from .serializers import ProductSerializers
#定義類,屬於rest專用類,專門定義json接口
class ProductViewsets(viewsets.ModelViewSet):
    #輸出序列化類
    #定義sql
    queryset = Product.objects.all()
    serializer_class = ProductSerializers

4,配置路由服務器

#導入路由庫
from rest_framework.routers import DefaultRouter
from .views import ProductViewsets
#定義路由對象
router = DefaultRouter()
#註冊路由
router.register('/json',ProductViewsets)


#將路由注入
urlpatterns += router.urls

 

**session

相關文章
相關標籤/搜索