• Python接口自动化测试(15):Django后台设置


    登录Django后台

    输入网址:http://127.0.0.1:8000/admin

    输入创建的账号和密码

    数据序列化

    Django后台自带了Groups和Users,我们可以对这两个进行数据序列化

    在api下创建serializers.py文件

    from django.contrib.auth.models import User,Group
    from rest_framework import serializers
    class UserSerializer(serializers.HyperlinkedModelSerializer): #继承serializers的类
        class Meta:
            model=User
            fields=('url','username','email','group')
    
    class GroupSerializer(serializers.HyperlinkedModelSerializer):
        class Meta:
            model = Group
            fields=('url','name')

    创建视图

    视图用于如何向用户展示数据,展示哪些数据,比如用户查询User信息或者查询Group信息,那么程序内部要定要好怎么去查询,在Django REST framework中,ViewSets用于定义视图的展现形式,例如返回哪些内容,需要做哪些权限处理。

    views.py文件代码:

    from django.shortcuts import render #响应http的返回内容
    from django.contrib.auth.models import User,Group #导入Django自带的user和group库
    from rest_framework import  viewsets #viewsets用于视图的展现形式
    from api.serializers import UserSerializer,GroupSerializer #导入自定义的两个序列化类
    
    
    # Create your views here.
    class UserViewSet(viewsets.ModelViewSet):
        queryset = User.objects.all()  #查询user表的全部信息
        serializer_class = UserSerializer #serializers_class会找到对应的Serializers
    
    class GroupViewSet(viewsets.ModelViewSet):
        queryset = Group.objects.all() #查询Group表的全部信息
        serializer_class = GroupSerializer

    在URL中会定义相应的规则到ViewSets,ViewSets则通过serializers_class找到对应的Serializers.这里将User和Group的所有对象赋予queryset,并返回这些值

    在UserSerializer和GroupSerialize中定义要返回的字段。

    URL路由配置

    urls.py文件代码:

    from django.contrib import admin
    from django.urls import path
    from django.conf.urls import  include
    from rest_framework import  routers #导入路由
    from api import  views
    
    #配置路由
    router = routers.DefaultRouter()  #生成路由对象
    router.register(r'users',views.UserViewSet) #输入users会指向views中的UserViewSet
    router.register(r'groups',views.GroupViewSet)#输入groups会指向views中的GroupViewSet
    
    urlpatterns = [
        path('admin/', admin.site.urls), #这个路径就是http://127.0.0.1:8000/admin/
        path('',include(router.urls)), #这个路径就是http://127.0.0.1:8000/ 后面可以根users或者groups
        path('api-auth/',include('rest_framework.urls',namespace='rest_framework'))
    ]

    可以查看配置完的页面

    http://127.0.0.1:8001/

    输入网址:http://127.0.0.1:8001/users/

    这里看到的url,username,email,group就是序列化里面的配置。

    输入地址:http://127.0.0.1:8001/groups/

    在Name输入框输入test点击POST

     生成了序号为1的test数据,数据内容包含了url,name,就是序列化里面设置的内容。

  • 相关阅读:
    Web用户控件
    ASP.Net状态管理读书笔记--思维导图
    网站教学 提纲总结到ajax结束后面还有
    ajax文本空输入显示用户信息
    Ajax 下拉列表联动显示
    用Ajax删除的做法
    Findora:引入保密性和可审计的区块链
    角逐云计算的“新黄金十年”,谁将胜出?
    区块链世界的中心应该是什么?
    边缘计算2.0时代存在哪些挑战?
  • 原文地址:https://www.cnblogs.com/zengxuejie/p/14211954.html
Copyright © 2020-2023  润新知