• Django-rest-framework(一)简单入门使用


    简单的使用

    Django-rest-framework 建成DRF,可以帮助我们快速构建出 django的rest full 风格的api接口。
    其源码容易理解,所以我们可以很方便的使用。

    • 安装

      pip install djangorestframework
      pip install django==2.1.1
      
    • settings.py 配置

      INSTALLED_APPS = (
          ...
          'rest_framework',
      )
      
      # DRF 自己的配置参数, 可以暂时不用配置
      REST_FRAMEWORK = {
          # Use Django's standard `django.contrib.auth` permissions,
          # or allow read-only access for unauthenticated users.
      }
      
    • 准备serializers.py文件, 这里直接使用admin的User,所以不需要准备models, serializers 的作用相当于序列化数据,将queryset中的数据取出来,组装成我们需要的样子。

      from django.contrib.auth.models import User, Group
      from rest_framework import serializers
      
      
      class UserSerializer(serializers.ModelSerializer):
          class Meta:
              model = User # 要序列的model
              fields = ('url', 'username', 'email', 'groups') # 数据字段
      
      
      class GroupSerializer(serializers.ModelSerializer):
          class Meta:
              model = Group # 要序列的model
              fields = ('url', 'name') # 数据字段
      
    • 准备views.py 文件, 这里使用ModelViewSet,也可以使用其他viewset,在这里先不做深入讲解

      from django.contrib.auth.models import User, Group
      from rest_framework import viewsets
      from .serializers import UserSerializer, GroupSerializer
      
      
      class UserViewSet(viewsets.ModelViewSet):
          """
          用户接口
          """
          queryset = User.objects.all().order_by('-date_joined') # 指定queryset
          serializer_class = UserSerializer # 指定queryset对应的serializers
      
      
      class GroupViewSet(viewsets.ModelViewSet):
          """
          用户组接口
          """
          queryset = Group.objects.all() # 指定queryset
          serializer_class = GroupSerializer # 指定queryset对应的serializers
      
    • 修改url.py 文件,奖view 绑定到路由上

      from django.urls import include, path
      from rest_framework import routers
      from tutorial.quickstart import views
      
      # 使用router注册view,绑定url映射关系,
      # 关于什么时候使用router,什么时候不能使用,后面奖路由的时候在深入了解吧
      router = routers.DefaultRouter()
      router.register(r'users', views.UserViewSet) # 绑定view到users路由下
      router.register(r'groups', views.GroupViewSet)
      
      urlpatterns = [
          path('', include(router.urls)),
          path('api-auth/', include('rest_framework.urls',
              namespace='rest_framework')) # 登录接口,
      ]
      
    • 最后,将服务完整运行起来,在访问相关接口,就可以看到效果了

  • 相关阅读:
    C# 生成 DataMatrix 格式的二维码
    Matlab如何连接Oracle数据库及基本操作
    Matlab调用返回游标的存储过程的分析和处理
    Matlab 调用Oracle数据库
    安装discourse
    设置HttponlyCookie解决mshtml编程无法获取验证码图片流
    C#通过COM组件操作IE浏览器(四):实用代码总结
    C#通过COM组件操作IE浏览器(三):了解IHTMLDocument2
    C#通过COM组件操作IE浏览器(二):使用IHTMLDocument3完成登录
    C#通过COM组件操作IE浏览器(一):打开浏览器跳转到指定网站
  • 原文地址:https://www.cnblogs.com/yuzhenjie/p/10343016.html
Copyright © 2020-2023  润新知