zengxuejie

导航

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,就是序列化里面设置的内容。

posted on 2021-01-07 10:37  曾小懒  阅读(255)  评论(0编辑  收藏  举报