自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 loadrunner

前序:探测器:探测网站协议用只需输入url,即可等待软件打开浏览器,可能会有点慢,打开之后,登录一下,停止,看结果,从中选一个协议即可一、 录制脚本1.安装完毕后,创建脚本:选择协议点击start record开始录制点击OK之后,会弹出网址,之后创建Action,每进一个页面添加一个Action,录制结束后,终止录制,点击script查看。脚本函数简介脚本目录...

2020-07-20 15:19:09 187

原创 postman--内置动态变量

Postman也有一些动态变量,可以用在你的request中。在request header中包含时间戳或者在URL参数中发送一个随机字符串,时间戳和随机字符都属于动态变量。注意:动态变量在pre-request script中设置,但不可以用于SandBox中,你只能在request的URL、headers、body中以放在双花括号中间的形式使用具体方法详细:https://blog.csdn.net/venustech0919/article/details/105725308...

2020-05-19 09:56:06 727

原创 命令行创建django

创建一个django project;django-admin startproject mydjangoproject #创建一个名称为mydjangoproject的django项目创建一个app:django-admin startapp app01 #创建一个名称为app01的应用

2020-05-18 09:48:01 167

原创 性能测试,负载测试,压力测试区别与联系

性能测试,压力测试,负载测试,经常听说却并没有真正的去了解区别,而且网上大部分讲的还是有点混乱,很容易让人混淆。所以根据自己的经验还有查阅软件测试书籍做了一些总结:很多时候,查阅软件测试书籍是寻找答案最好的方法。从测试的方法与工具来说,三者都是一样的,压力测试跟负载测试都是属于性能测试的子集(软件测试书籍也是有说明这点)。从测试的目的来说,三者又是不一样的。性能测试:软件测试的定义:模拟用户...

2020-04-26 21:42:15 490

原创 jmeter功能测试

自定义变量和CSV可变参数1.添加全局变量线程组->添加add->配置元件config element->用户定义变量user definde variable${键} 在接口引用引用2.可变参数压测线程组->添加add->配置元件config element->CSV数据文件设置 CSV data set config通过读取csv或者txt文...

2020-04-26 16:47:09 207

原创 软件测试面试题

1、你的测试职业发展是什么?测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。2、你认为测试人员需要具备哪些素质做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就...

2020-04-25 22:49:56 2815

原创 黑盒测试方法

黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。几种常用的黑盒测试方法有等价类划分法、边界值分析法、因果图法、决策表法。在实际运用中要选择合适的方等价类划分法是一种典型的黑盒测试用例设计方法。采用等价类划分法时,完全不用考虑程序内部结构,设计测试用例的唯一依据是软件需求规格说明书。等价类划分法:等价类中任意一个输入数据对于揭露程...

2020-04-10 10:53:27 3915

原创 daterangepicker时间日期插件

链接https://www.daterangepicker.cn/1.引入css,js<style> <link rel="stylesheet" href="{% static 'plugin/daterangepicker/daterangepicker.css' %}"> </style><script src="{% static '...

2020-04-07 18:14:52 182

原创 checkbox筛选框,以及select下拉框进行数据筛选

后端checkbox组件,select组件class CheckFilter(object): """筛选并返回前端选择标签""" def __init__(self, name ,data_list , request): self.name = name self.data_list = data_list self.requ...

2020-04-06 18:57:33 1558

原创 url

假设获得url的参数为a = {'statusL[1,2,3],'xx':1}通过a.urlencode()可以获得status=1&status=2&status=3&xx=1形式

2020-04-06 12:22:07 222

原创 session和cookie以及jwt

https://img2020.cnblogs.com/blog/1515111/202004/1515111-20200405090920745-1422513552.pngCookie 和 SessionHTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP...

2020-04-05 18:00:35 449

原创 django集成markdown

1.下载https://www.mdeditor.com/https://github.com/pandao/editor.mdhttps://pandao.github.io/editor.md/examples/index.html前端导入1. textarea框通过div包裹以便以后查找并转化为编辑器 <div id='editor'>.... </div...

2020-04-01 22:27:20 174

原创 反射,orm字段,可迭代对象

需求1:我通过ajax给你发送了一个数据 {'v1':"email",'v2':"wupeiqi@qq.com"} 或 {'v1':"name",'v2':"alex"} 或 {'v1':"age",'v2':18},请你获取到这个字典后,对数据库中的用户表进行一次更新操作。通过setattr获的通过键获得值,再设置def index(request): data_dict = jso...

2020-04-01 18:32:23 130

原创 ajax 传复杂数据,上传和处理,以及另一种传输方式

普通传数据前端: $.ajax({ ... data:{name:11,age:122,xx:[11,22,33]} }) $.post(url,data,callback)Django后台: request.POST request.POST.get('name') request.POST.get('age') request.P...

2020-03-29 11:22:05 268

原创 bootstrap+fontawesome实现文件上传

css .function .upload { overflow: hidden; } .function .upload input { opacity: 0; position: absolute; top: 0; bottom: 0...

2020-03-28 16:57:31 192

原创 bootstrap 模态对话框

<a class="btn btn-success btn-xs" data-toggle="modal" data-target="#addModal" data-whatever="新建文件夹"> <i class="fa fa-plus-circle" aria-hidden="true"></i> 新建文件...

2020-03-26 18:58:07 177

原创 restful api规范

以webService为例通俗解释。非Rest设计,以往我们都会这么写:http://localhost:8080/admin/getUser (查询用户)http://localhost:8080/admin/addUser (新增用户)http://localhost:8080/admin/updateUser (更新用户)http://localhost:8080/admi...

2020-03-25 22:14:07 150

原创 ajax,形式

html<form id="addform"> {% csrf_token %} {% for field in form %} <div class="form-group"> <label for="{{ field...

2020-03-19 20:25:51 99

原创 django modelform

基本格式class form名字(forms.ModelForm): password = forms.CharField( #自定义校验单独字段 label='密码', min_length=8, max_length=64, error_messages={ 'min_length':'密码长度最...

2020-03-19 18:28:39 130

原创 django model字段

字段类型(Field types)AutoField它是一个根据 ID 自增长的 IntegerField 字段。通常,你不必直接使用该字段。如果你没在别的字段上指定主 键,Django 就会自动添加主键字段。BigIntegerField64位整数,类似于IntegerField,范围从-9223372036854775808 到9223372036854775807。默认的form w...

2020-03-19 17:08:46 326 1

原创 python queue

创建队列import queueq = queue.Queue()empty(如果队列为空,返回True)import queueq = queue.Queue()print(q.empty())#输出:Truefull(如果队列满了,返回True)复制代码复制代码import queueq = queue.Queue(1) #指定队列大小q.put(‘a’)print...

2020-02-29 15:50:07 113

原创 进程,线程,协程的区别

都可以提高并发能力进程和线程是计算机中真是存在的,而协程是程序员人为创造出来的#是什么进程是计算机资源分配的最小单位.线程是计算机中可以被cpu调度的最小单位.协程也可以称为“微线程”,实际上让一个线程轮番执行一些任务#联系一个进程中可以有多个线程,同一个进程中的线程可以共享此进程中的资源,一个线程可以有多个协程,一个应用程序中至少有一个进程,一个进程中至少有一个线程#应用场景...

2020-02-27 11:35:23 368

原创 TCP三次握手、四次回收的流程

三次握手:1.三次握手是tcp协议建立连接的过程2.由客户端发起一个syn请求,服务端接收并回复(syn\ack)客户端收到ack和syn之后再回复一个ack3.在原生的socket代码中三次握手是由accept connect完成四次挥手:1.四次挥手是tcp协议断开连接的过程2.由客户端发送一个fin请求,服务端接受,分别回复ack,fin请求服务端接受后再返回ack3.在原...

2020-02-27 11:01:48 283

原创 crm 部署

supervisor+uwsgi+nginx+django+mysql这些事设计到的技术supervisor:一键启停uwsgiuwsgi:让django在Linux上支持并发形式,支持多进程,多线程,乃至于协程的C语言编写高性能工具1.先创建虚拟环境,用于运行crm[root@s25linux crm]# virtualenv --python=python3 venv_crmso...

2020-02-21 10:17:43 577

原创 Linux关机命令

halt。用halt命令来关机时,实际调用的是shutdown -h。halt 执行时将杀死应用进程,执行sync系统调用文件系统写操作完成后就会停止内核。poweroff,指向halt的链接。shutdown -h now,shutdown执行它的工作是送信号〔signal〕给init程序,要求它改变 runlevel为run level 0 。(run level 0: 关机)nit ...

2020-02-20 09:12:49 143

原创 linux 部署项目

1.编译安装python3的步骤编译安装python3的步骤1.很重要,必须执行此操作,安装好编译环境,c语言也是编译后运行,需要gcc编译器golang,对代码先编译,再运行,python是直接运行yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-dev...

2020-02-19 18:18:32 252

原创 ModelSerializer

首先课程大类与课程子类是一对多的关系,初步理解:将一对应的类放入多对应的类,就可以实现创建数据此截图代码解释:左边三个category要与课程子类的字段名要一一对应,且重写序列化器的create方法,在create方法的步骤先取出父类的数据,给category_data将category_data打散并存进对应的表中,并返回一个对象,这里返回的是Linux对象将返回的对象和存的...

2019-12-12 22:38:41 95

原创 vue

当使用VSCode编写 .vue 文件时无代码片段提示时,装上 Vetur 和 Vue 2 Snippets 两个插件即可,其他的插件推荐都在这里

2019-12-04 18:28:19 76

原创 HTTP工作原理

以下是 HTTP 请求/响应的步骤:客户端连接到Web服务器一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连在这里插入代码片接。例如,https://baidu.com发送HTTP请求通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。服务器接受请求并返回HT...

2019-10-21 21:23:29 80

原创 tcp/udp

python中是通过套接字即socket来实现UDP及TCP通信的。有两种套接字面向连接的及无连接的,也就是TCP套接字及UDP套接字。TCP通信模型创建TCP服务器伪代码:ss = socket() # 创建服务器套接字ss.bind() # 套接字与地址绑定ss.listen() # 监听连接inf_loop: # 服务器无限循环 cs = ss.accept() # ...

2019-09-16 21:17:15 95

原创 日志

基础版format参数中可能用到的格式化串:%(name)s Logger的名字%(levelno)s 数字形式的日志级别%(levelname)s 文本形式的日志级别%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有%(filename)s 调用日志输出函数的模块的文件名%(module)s 调用日志输出函数的模块名%(funcName)s 调用日志输出函数...

2019-08-27 16:23:24 86

原创 迭代器,生成器

从本质上来说,迭代是重复反馈过程的活动,其目的是接近所需要的目标和结果,每一次重复称为一次迭代,每一次迭代得到的结果称为下一次迭代的初始值。定义具有iter()和next()方法就是迭代器模拟一下for循环的实现lst=[1,2,3,4,5]l=lst.__iter__()#将可迭代对象转为迭代器while True: try: print(l.__next...

2019-08-20 21:02:29 73

原创 闭包与装饰器

闭包定义:在嵌套函数内使用非全局变量(非本层变量)就是闭包def wrapper(): a = 1 def inner(): return a return innerret = wrapper()print(ret())这就是一个闭包,在此a就是一个自由变量,这里内层函数调用自由变量a=1,当函数消失,自由变量也会保留下来print(r...

2019-08-20 20:14:36 72

原创 python 深浅拷贝总结

赋值 :=就类似于两个标签贴到同一内存地址上,源数据类型改,赋值的类型也改浅拷贝:外边的壳内存地址永远不一样,他只拷贝了元素第一层的地址,只有 修改 拷贝的数据第一层时候 源数据不改变,给可变数据类型进行添加的时候源数据会受到影响。(可变数据类型能够添加和修改,不可变数据类型只能修改)第二层:可变数据类型添加修改 源数据改变深拷贝:开辟一个容器空间(列表),不可变数据公用,可变数据数据...

2019-08-08 16:09:00 163

原创 Python 高阶函数sorted总结

对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比。在本质上,list的排序和内置函数sorted的排序是差不多的,连参数都基本上是一样的。主要的区别在于,list.sort()是对已经存在的列表进行操作,进而可以改变进行操作的列表。而内置函数sorted返回的是一个新的list,而不是在原来的基础上进行的操作.基本用法>...

2019-08-07 21:50:48 203

原创 字符串格式化

1.%sprint("%s_%s_%s" %(“as”,“qw”,“er”))2.f-strings 是指以 f 或 F 开头的字符串,其中以 {} 包含的表达式会进行值替换。基本使用>>> name = 'flhw'>>> age = 18>>> f"hi, {name}, are you {age}"'hi, flhw,...

2019-07-19 16:48:52 80

原创 集合

特点自带去重操作无序排列元素不可变用来作什么嘞去重 和 关系运算去重机制使用a= {1,5,7,9,6,4,7,3,2,1,8,5,6,9,8,4,1,2}print(a)#这样重复元素根本存不进去帮列表去重li = [5,7,9,6,4,7,3,2,1,8,5,6,9,8,4,1,2]li = list(set(li))print(li)增s={1,2...

2019-07-17 21:47:22 156

原创 字典(常用)

特点:无序的,索引速度快,key不可变 value多元存放用途主要用于存储大量数据,字典比列表快,将数据与数据之间进行关联避免哈希冲突 采用开放寻址法定义 {key1:value1,key2:value2}创建:dic={键:值}info{ "name":"zhangsan", "age":"2"}1 prson={"name":"zhangsan","age...

2019-07-17 21:06:57 216

原创 元组 range

特点1 有序,不可变,支持索引2 元组用于存储一些比较重要的信息3 元组在配置文件中会使用4 元组就是不可变的列表tu = (1,"alex",True,"黑哥",[1,2,3])print(tu[0:5])#实现输出rangeprint(list(range(0,10))) 顾头不顾尾print(list(range(10,-2,-1))) 大体形式就是和切片类似#...

2019-07-17 20:39:45 140

原创 Python列表

特点有序,可变,支持索引。支持存储数据极多,字符串,数字,布尔值,列表,集合,元祖,字典 lst=["dsb",123,True,"黑哥"] print(lst[0]) print(id(lst[0])) id获取对象的内存地址增加append #追加,在列表最后一个位置添加内容lst=[1,2,3,4,5]lst.append(8)#这样就在末尾添加一个8...

2019-07-17 20:33:21 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除