pycharm(pythoon3)_django2.0_xadmin创建测试用例后台管理系统
1.测试用例的app名字:Testcase
2.Testcase文件夹下各个文件的代码:
2.1. __init__.py:
default_app_config = "TestCase.apps.TestcaseConfig"
2.2. adminx.py
import xadmin
from xadmin import views #导入xadmin中的views,用于和 BaseSettings类绑定 from .models import TestCase #导入测试用例模型
from .models import TestProject #导入测试项目模型
from .models import MoveView #导入动态视图 class TestProjectAdmin(object):
diduan = ['test_project', 'testCase_nums',
'add_time'
]
list_display = diduan #定义显示的字段
search_fields = diduan #定义搜索的字段
list_filter = ['test_project', 'testCase_nums'] #定义筛选的字段 xadmin.site.register(TestProject, TestProjectAdmin) #在xadmin中注册TestCase class TestCaseAdmin(object):
diduan = ['test_project', 'test_module', 'test_function','case_priority','case_title',
'case_precondition', 'case_step', 'case_expected_result', 'case_test_result', 'case_comments',
'add_time'
]
list_display = diduan #定义显示的字段
search_fields = diduan #定义搜索的字段
list_filter = ['test_project', 'test_module', 'case_priority', 'case_test_result'] #定义筛选的字段 xadmin.site.register(TestCase, TestCaseAdmin) #在xadmin中注册TestCase class MoveViewAdmin(object):
diduan = ['test_project','Num']
list_display = diduan #定义显示的字段
search_fields = diduan #定义搜索的字段
list_filter = diduan #定义筛选的字段 xadmin.site.register(MoveView, MoveViewAdmin) #在xadmin中注册MoveView # class BaseSettings(object): #全站的配置类, 配置主题
# enable_themes = True #主题功能,enable_themes=True 表示要使用它的主题功能,xadmin默认是取消掉的
# use_bootswatch = True #xadmin默认是取消掉的
#
# xadmin.site.register(views.BaseAdminView, BaseSettings) #注册BaseSettings
#
#
# class GlobalSettings(object): ##全站的配置类
# site_title = "接口测试后台管理系统" #页面左上角的标题名称
# site_footer = "接口测试网" #页面底部的文字显示内容
# menu_style = "accordion" # 将一个app下的内容收起来
#
# xadmin.site.register(views.CommAdminView, GlobalSettings) #注册GlobalSettings
2.3. apps.py
from django.apps import AppConfig class TestcaseConfig(AppConfig):
name = 'TestCase'
verbose_name = u"测试用例"
2.4. models.py
from datetime import datetime #导入获取时间包 from django.db import models # Create your models here.
#
class TestProject(models.Model): # 定义测试项目
test_project = models.CharField(max_length=, verbose_name=u"测试项目")
testCase_nums = models.IntegerField(default=, verbose_name=u"测试用例总数")
add_time = models.DateTimeField(default=datetime.now,
verbose_name=u"创建项目时间") # datetime.now记录实例化时间,datetime.now()记录模型创建时间 class Meta:
verbose_name = u"测试项目"
verbose_name_plural = verbose_name def __str__(self):
return self.test_project class TestCase(models.Model): #定义测试用例
test_project = models.ForeignKey(TestProject,verbose_name=u"测试项目",on_delete=models.CASCADE)
test_module = models.CharField(max_length=, verbose_name=u"测试模块")
test_function = models.CharField(max_length=, verbose_name=u"测试功能点")
case_priority = models.CharField(max_length=,
choices=(("P0", u"冒烟用例"), ("P1", u"系统的重要功能用例") , ("P2", u"系统的一般功能用例"), ("P3", "极低级别的用例")),
default="P1",
verbose_name=u"用例优先级")
case_title = models.CharField(max_length=,verbose_name=u"测试用例_名称")
case_precondition = models.CharField(max_length=,verbose_name=u"测试用例_前置条件")
case_step = models.TextField(default="",verbose_name=u"测试用例_操作步骤")
case_expected_result = models.TextField(default="", verbose_name=u"测试用例_预期结果")
case_test_result = models.CharField(max_length=,
choices=(("Pass", u"测试通过"), ("Fail", u"测试失败"), ("Block", u"用例锁定"), ("NoRun", "未测试")),
default="NoRun",
verbose_name=u"测试用例_测试结果")
case_comments = models.TextField(default=u"测试备注", verbose_name=u"测试备注")
add_time = models.DateTimeField(default=datetime.now, verbose_name=u"编写用例时间") #datetime.now记录实例化时间,datetime.now()记录模型创建时间 class Meta:
verbose_name = u"测试用例"
verbose_name_plural = verbose_name class MoveView(models.Model): # 定义动态视图表
test_project = models.CharField(max_length=, verbose_name=u"测试项目")
Num = models.IntegerField(default=, verbose_name=u"测试用例总数") class Meta:
verbose_name = u"动态视图"
verbose_name_plural = verbose_name
managed = False
db_table = "count_casesnum_project"
2.5. urls.py
from django.urls import path urlpatterns = [
#path('testcase/', OrgView.as_view(), name="test_case"), # 配置课程列表页面的访问路径
] app_name = 'testcast'
3.动态视图数据库表的设计视图语句:
select count(`testcase_testcase`.`case_title`) AS `Num`,`testcase_testproject`.`id` AS `id`,`testcase_testproject`.`test_project` AS `test_project` from (`testcase_testcase` join `testcase_testproject`) where (`testcase_testcase`.`test_project_id` = `testcase_testproject`.`id`) group by `testcase_testproject`.`test_project`
pycharm(pythoon3)_django2.0_xadmin创建测试用例后台管理系统的更多相关文章
- 使用moy快速开发后台管理系统(一)
moy是什么? moy 是基于模型框架 kero 和 UI 框架 neoui 实现的应用框架,是前端集成解决方案,为企业级应用开发而生.github地址:iuap-design/tinper-moy ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(4)-构建项目解决方案 创建EF DataBase Frist模式 进行本次文章之前,我们可能需要补充一些 ...
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发4- 后台模板html页面创建
上一篇教程<asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发>完成了本项目的登录模块,登录后就需要进入后台管理首页了,需要准备一个后台模 ...
- admin快速搭建后台管理系统
一.基于admin后台管理系统的特点: 权限管理:权限管理是后台管理系统必不可少的部分,拥有权限管理,可以赋予用户增删改查表权限(可以分别赋予用户对不同的表有不同的操作权限): 前端样式少:后台管理主 ...
- Django2.1.5使用xadmin打造适合国人的后台管理系统
python做web开发的话,flask.django是比较火的框架了,django是一个比较大的框架,也是一个快速开发利器.但是,django自带的后台admin不太好看,也不太符合我们国人的习惯, ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(34)-文章发布系统①-简要分析
系列目录 最新比较闲,为了学习下Android的开发构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与,虽然有点没有目的的学习,但还是了解了Andro ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(51)-系统升级
系统很久没有更新内容了,期待已久的更新在今天发布了,最近花了2个月的时间每天一点点,从原有系统 MVC4+EF5+UNITY2.X+Quartz 2.0+easyui 1.3.4无缝接入 MVC5+E ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构
系列目录 前言:这是对本文系统一次重要的革新,很久就想要重构数据访问层了,数据访问层重复代码太多.主要集中增删该查每个模块都有,所以本次是为封装相同接口方法 如果你想了解怎么重构普通的接口DAL层请查 ...
- 从零开始编写自己的C#框架(8)——后台管理系统功能设计
还是老规矩先吐下槽,在规范的开发过程中,这个时候应该是编写总体设计(概要设计)的时候,不过对于中小型项目来说,过于规范的遵守软件工程,编写太多文档也会拉长进度,一般会将它与详细设计合并到一起来处理,所 ...
随机推荐
- SQL server 2012安装中出现的INSTALLSHAREDDIR 和 INSTALLSHAREDWOWDIR 参数具有相同的值问题
出现的问题如下: INSTALLSHAREDDIR 和 INSTALLSHAREDWOWDIR 参数具有相同的值“D:\soft\sql”.但是,这些参数必须具有不同的值.请为其中一个参数指定不同的值 ...
- 读javascript高级程序设计-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- 相似的RGB颜色——算法面试刷题3(for google),考察二分
在本题中,每个大写字母代表从“0”到“f”的一些十六进制数字. 红绿蓝三元色#AABBCC可以简写为#ABC. 例如,#15c是颜色#1155cc的简写. 现在,假设两种颜色#ABCDEF和#UVWX ...
- react中的传参方式
react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a na ...
- editorconfig使用
//是否是顶级配置文件,设置为true的时候才会停止搜索.editorconfig文件 root = true [*] //缩进方式tab" | "space indent_sty ...
- rebar3自动编译
功能:修改完代码可以自动编译加载到VM中 必须安装的软件: Linux: inotify 链接https://github.com/rvoicilas/inotify-tools/wiki 配置: ...
- linux修改主机名+免密认证+关闭防火墙
在很多软件安装的时候都有这些需求,因此在这里一起讲一下 修改主机名 简单的使用 hostnamectl 命令就好了 hostnamectl set-hostname NAME 免密认证 准备工作,修改 ...
- echarts折线图
https://echarts.baidu.com/examples/#chart-type-bar
- OO第一单元作业总结之初识面向对象
第一个单元的三次作业均为求导,循序渐进的让我们掌握如何构造类和方法,让整个代码是面向对象的设计而不是面向过程的设计.如果第一次作业和第二次作业你只是简单的对过程着手架构类,到了第三次作业就会变得格外麻 ...
- python 列表list相关知识
List的元素可以是Python的任意数据类型(Boolean,Number,String,List,Dict,Set……) List同样可以使用索引和切片,切片得到的结果也是列表. print(li ...