zoukankan      html  css  js  c++  java
  • 使用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   # 表联系深度
    

      

  • 相关阅读:
    PHP 数据库 ODBC
    PHP MySQL Delete
    PHP MySQL Update
    PHP MySQL Order By 关键词
    PHP MySQL Where 子句
    01_今日介绍
    00_前情回顾
    02_cfork分叉进程
    01_c++下jni开发说明
    17_activity任务栈和启动模式
  • 原文地址:https://www.cnblogs.com/mitsui/p/7803824.html
Copyright © 2011-2022 走看看