模型关联关系 用例和项目之间的关联可以直接通过 config,因为 config 是套件和用例的扩展,相当于用例和套件本身 。 一、 模块的包管理1. 创建模型包如果模型过多时,需要把模型分别存储。 在应用中创建一个名为 models 的包,将所有的模型文件全部存放在 该文件夹下, 删除原来的 models.py 文件。 2. 创建 模型文件在 __init__.py 文件中,要使用 显示明确的方式导入每个模型,这样不会让命名混淆,便于可读。 123456# sqpt/models/__init__.pyfrom .hr3 import Request, Case, Config, Suite, Stepfrom .auth import Userfrom .base import CommonInfofrom .mgr import Environment, Project hr3.py 存放所有核心数据模型 mgr.py 存放所有项目管理相关模型 123456789101112131415161718192021222324252627282930313233343536373 ...
一、判断1. if……else if …… else语法if(条件表达式){ 执行代码块;} else if (条件表达式) { 执行代码块;} else { 执行代码块;} 123456789101112131415161718192021// 引入 scannerimport java.util.Scanner;public class demo01{ public static void main(String[] args) { // 创建 scanner 对象 Scanner myScanner = new Scanner(System.in); System.out.println("请输入年龄"); int age = myScanner.nextInt(); if ( age >= 18 && age < 60){ System.out.println("他成年了"); }else if ( age >= 60) { S ...
一、 fixture1. fixture 详解fixture(scope='function',params=None,autouse=False,ids=None,name=None) scope:有四个级别参数”function”(默认),”class”,”module”,”session” params:一个可选的参数列表,它将导致多个参数调用 fixture 功能和所有测试使用它。 autouse:如果 True,则为所有测试激活 fixture func 可以看到它。如果为 False 则显示需要参考来激活 fixture ids:每个字符串 id 的列表,每个字符串对应于 params 这样他们就是测试 ID 的一部分。如果没有提供 ID 它们将从 params 自动生成 name:fixture 的名称。这默认为装饰函数的名称。如果 fixture 在定义它的统一模块中使用,夹具的功能名称将被请求夹具的功能 arg 遮蔽,解决这个问题的一种方法时将装饰函数命 2. fixture 作用范围scope 参数可以控制 fixture 的作用范围: sess ...
一、 CSS 语法 及 注释1. 语法CSS 规则有两个主要部分,一个 选择器 和 一个或多个 声明: 选择器:指定 CSS 规则适用于 HTML 页面中的哪个元素。 声明:决定了元素在网页上的格式。 每个声明都包含一个属性和一个值,这些值和值之间用冒号(:)分隔并以分号(;)结尾,并且声明组用花括号括起来{}。 注意: 虽然 CSS 属性名称和许多属性值都不区分大小写。但是 CSS 选择器是区分大小写,例如:.maincontent与.mainContent是两个不同的 class 类选择器,是区分大小写的。 2. 注释CSS 注释以开头/*,以结束*/ 12345/* 这是一段注释 */p { font-size: 18px; text-transform: uppercase;} 二、 基础 选择器选择器是 CSS 最重要的方面之一,因为它们用于选择网页上的元素,以便可以设置样式。 1,基本选择器语法 选择器 类型 功能描述 * 通配选择器 选择文档中所有 HTML 元素 E 元素选择器 选择指定类型的 HTML ...
一、 数据库查询强化训练1. 字段条件查询字段查询是指如何指定 SQL WHERE 子句的内容。 它们用作QuerySet的filter(), exclude()和get()方法的关键字参数。 其基本格式是:field__lookuptype=value,注意其中是 双下划线。 默认查找类型为 exact(精确匹配)。 lookuptype 的类型有: Django 的数据库 API 支持 20 多种查询类型,下表列出了所有的字段查询参数: 字段名 说明 exact 精准匹配 iexact 不区分大小写的精准匹配 contains 包含匹配 icontains 不区分大小写的包含匹配 in 在 。。。之内的匹配 gt 大于 gte 大于等于 lt 小于 lte 小于等于 startswith 从开头匹配 istartswith 不区分大小写的从开头匹配 endswith 从结尾处匹配 iendswith 不区分大小写的从结尾处匹配 range 范围匹配 date 日期匹配 year 年份匹配 iso_yea ...
一、 资源的增删改查1. 新增资源1234567891011121314151617181920212223# views.py@api_view(['GET', 'POST']) # 允许的请求方法def request_list(request, format=None): # 查询数据 if request.method == 'GET': # 构造序列化器 serializer = RequestSerializer(Request.objects.all(), many=True) # 返回 json 格式数据 # safe=False 是为了支持 {} 以外的 python 对象转 json return Response(serializer.data) # 将 python 原生格式转成 json 数据 # 新增数据 --- POST elif request.method == 'P ...
一、 自定义接口规范(渲染器)1. 渲染器的基本原理 序列化在返回数据后并不是直接做为响应数据,而是经过渲染器的渲染,生成不同格式的响应内容 。 重构渲染器就是重写父类渲染器的 render 方法 。 1render(self, data, accepted_media_type=None, renderer_context=None) data : 响应数据(序列化器的.data 属性),等同于 renderer_context[“ response “].data 的值 accepted_media_type=None : 可选的。如果提供,这是由内容协商阶段确定的所接受的媒体类型。 根据客户端的 Accept: 头,这可能比渲染器的 media_type 属性更具体,可能包括媒体类型参数。例如 “application/json; nested=true” 。 renderer_context=None : 可选的。如果提供,这是一个由 view 提供的上下文信息的字典。 默认情况下这个字典会包括以下键: view , request , response , args , ...
–、 安装 Vue1. 本地引用安装 — Vue.js (vuejs.org) 1<script src="../lib/vue.js"></script> 2. 外部引用1<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> 二、 模板语法1. 插值语法 功能:用于解析标签体内容。 语法: 123456// xxx是js表达式,{ { xxx; }} 可以直接读取到 data 中的所有属性。 1. 文本12345678910<div id="app">{{ message }}</div><script> var app = new Vue({ el: "#app", data: { message: " ...
一、 组件1. 非单文件组件Vue 使用组件的三大步骤: 创建组件使用 Vue.extend(options) 创建组件注意: el 不好写 data 必须写成函数 123456789101112131415//第一步:创建student组件const student = Vue.extend({ template: ` <div> <h2>学生姓名:{{studentName}}</h2> <h2>学生年龄:{{age}}</h2> </div> `, data() { return { studentName: "张三", age: 18, }; },}); 注册组件 局部注册:靠 new Vue 的时候传入 components 选项 全局注册:靠 Vue.c ...
一、PySide2 、 PyQt5 简介PySide2、PyQt5 都是基于著名的 Qt 库。Qt 库里面有非常强大的图形界面开发库,但是 Qt 库是 C++语言开发的,PySide2、PyQt5 可以让我们通过 Python 语言使用 Qt。PySide2 是 Qt 的 亲儿子 , PyQt5 是 Qt 还没有亲儿子之前的收的 义子 (Riverbank Computing 这个公司开发的)。那为什么 PyQt5 这个义子 反而比 PySide2 这个亲儿子更出名呢?原因很简单:PySide2 这亲儿子最近(2018 年 7 月)才出生。 二、 PySide2 安装1pip install pyside2 网络比较慢,可以指定国内的安装源,下载安装。 1pip install pyside2 -i https://pypi.douban.com/simple/ Qt 官方网站声明了: Windows上 Python 3.8.0 调用 Qt 5.14 , 会有问题。有类似下面这样的导入错误 1ImportError: Dll load failed while importing sh ...