• 使用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   # 表联系深度
    

      

  • 相关阅读:
    Centos 下oracle 11g 安装部署及手动建库过程
    MongoDB 存储引擎Wiredtiger原理剖析
    有关RDS上只读实例延时分析-同适用于自建MySQL主从延时分析判断
    windows 下my.ini的配置优化
    什么是purge操作
    linux内核调优参考
    通过第三方镜像仓库代理下载镜像
    微积分拾遗——链式法则
    Java中的RASP实现
    机器学习是什么
  • 原文地址:https://www.cnblogs.com/mitsui/p/7803824.html
Copyright © 2020-2023  润新知