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

相关文章
相关标签/搜索