zoukankan      html  css  js  c++  java
  • 测试平台系列(5)项目管理页面(2)

    项目管理界面接口相关

    项目管理页面前端页面已经写好了,现在开始写接口,首先是数据库的设计

    项目管理表需要的字段有哪些?
    项目名称,描述,接口数,用例数,创建时间,更新时间。目前暂且这些。

    Django框架中,数据库的内容,需要在model.py文件中写入
    这里使用的数据库是django自导的sqlite。

    如果使用其他数据库,可在setting中修改配置。
    image

    执行两个命令
    python manage.py makemigrations
    python manage.py migrate

    数据库中就会生成表。

    创建项目接口

    开始写逻辑相关内容,在view.py中
    获取到数据,直接存储到表中,返回成功就ok了。
    image

    在url.py写入路由配置
    image

    用postman工具请求下接口,查看可以调试成功
    image

    再查看下数据中,有记录生成,就完成了
    image

    获取项目数据接口

    获取数据的话,使用get方法,可以直接写在project类下面
    获取数据的格式必须是json的形式,这里用到的rest_framework中的 Serialiezer处理
    image

    postman 换成get方法请求下可以看到返回的数据
    image

    ok了,新增项目和获取项目数据接口完成。

    知识点

    Django的model操作,创建数据表相关关键字
    rest_framework 中的 APIView,Response,Serialiezer

    源码

    view.py
    from django.shortcuts import render
    
    # Create your views here.
    
    from rest_framework.response import Response
    from rest_framework.views import APIView
    from glory import models
    from logzero import logger
    from glory import Serializer
    class project(APIView):
        def post(self,req,*args,**kwargs):
            """创建项目"""
            ret = {}
            try:
                name = req.data.get("name")
                describe = req.data.get("describe")
                models.project.objects.create(name=name,describe=describe)
                ret["code"] = 0
                ret["msg"] = "创建成功"
            except Exception as e:
                ret["code"] = 1
                ret["msg"] = "创建失败:{}".format(e)
            return Response(ret)
    
        def get(self,req,*args,**kwargs):
            ret={}
            try:
                project_list = models.project.objects.all()
                project_list = Serializer.projectSerializer(project_list,many=True)
                ret["code"] = 0
                ret["data"] = project_list.data
                ret["msg"] = "获取数据成功"
            except Exception as e:
                ret["code"] = 1
                ret["data"] = []
                ret["msg"] = "获取失败:{}".format(e)
            return Response(ret)
    
    
    
    
    
    Serializers.py
    from rest_framework import serializers
    from glory import models
    
    class projectSerializer(serializers.ModelSerializer):
        class Meta:
            model = models.project
            fields="__all__"
    
    model.py
    from django.db import models
    
    # Create your models here.
    
    class project(models.Model):
        id = models.IntegerField(primary_key=True)
        name = models.CharField(max_length=300,verbose_name="项目名称")
        describe = models.CharField(max_length=500,verbose_name="描述")
        jk_num = models.IntegerField(verbose_name="接口数量",default=0)
        case_num = models.IntegerField(verbose_name="用例数量",default=0)
        updatetime = models.DateTimeField(auto_now=True,verbose_name="更新时间")
        createtime = models.DateTimeField(auto_now_add=True,verbose_name="创建时间")
    
        class Meta:
            db_table = "project"
    
    
    
    url.py
    from django.contrib import admin
    from django.urls import path
    from glory.views import *
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path("project",project.as_view())
    ]
    
    
  • 相关阅读:
    BZOJ3847 : ZCC loves march
    BZOJ3828 : [Poi2014]Criminals
    BZOJ3834 : [Poi2014]Solar Panels
    BZOJ3831 : [Poi2014]Little Bird
    BZOJ3829 : [Poi2014]FarmCraft
    BZOJ2757 : [SCOI2012]Blinker的仰慕者
    BZOJ2707 : [SDOI2012]走迷宫
    给iOS工程增加Daily Build
    给NSString增加Java风格的方法
    象写程序一样写博客:搭建基于github的博客
  • 原文地址:https://www.cnblogs.com/TestingShare/p/15645505.html
Copyright © 2011-2022 走看看