- 博客(67)
- 资源 (6)
- 收藏
- 关注
原创 Django的模型层
Django的模型层1.Model的开发流程2.定义Model模型3.Model模型的实例4.Model模型的实战操作笔记开发流程1.在models.py中定义模型类,要求继承自models.Model2.生成迁移文件3.执行迁移5.定义属性1.字段类型2.字段选项3.关系模型实例1.类的属性2.创建对象3.实例的属性模型查询1.查询集2.限制查询集3.查询集的缓存4.字段查询1.比较运算符2.跨关联关系的查询:处理join查询3.聚合函数Django的模型层 模型是项目中的数据消息源,它包
2023-08-23 13:31:03
1628
原创 数据库中内外链接的区别
mysql中内连接和外连接的区别内连接只会取两表关联条件匹配到的数据 外连接再两表关联条件匹配不到的数据,也会取到关联条件列展示为null左外连接和有外连接左外连接查询结果以左表为主,主表的数据都会全部显示处理,从表根据连接条件没有匹配,查询结果从表数据都会以null显示 右外连接查询结果以右表为主,主表的数据都会全部显示处理,从表根据连接条件没有匹配,查询结果从表数据都会以null显示
2023-07-12 10:21:25
257
原创 Pytest的setup/teardown各个方法的作用域
模块中每条用例执行前执行一次,不会作用于class中的test_case。#模块中每条用例执行后执行一次,不会作用于class中的test_case。#整个模块运行前会执行一次,包括运行完类。#整个模块运行后会执行一次,包括运行完类。所有用例执行前执行一次。所有用例执行后执行一次。
2023-06-30 11:39:37
862
原创 Pytest和Unittest的区别
一、用例编写 unittest 使用自定义的测试类TestFixture(如:MyTestBaidu),必须继承unittest.Testcase TestSuite:测试套件,使用需要声明unittest.Test.TestSuite(). 测试方法必须以“test_”开头 执行测试类必须要方法unittest.main() unittest提供了test_case、test_suite、test_fixture、test_runner相关的类让测试更加明确、方便、可控,使用unitte
2023-06-30 10:30:49
1315
原创 Jmeter的非GUI页面压测命令
jmeter.bat -n -t 脚本文件绝对路径\脚本文件.jmx -l 结果文件.jtl -e -o 生成测试报告绝对路径-n 命令行模式-t 指定jmx脚本地址(地址可以是相对路径,可以是绝对路径)-h 查看帮助-v 查看版本-p 指定读取jmeter属性文件,比如jmeter.properties文件中设置的-l 记录测试结果的文件,通常结果文件为jtl格式(文件可以是相对路径,可以是绝对路径)-s 以服务器方式运行(也是远程方式,启动Age
2022-06-08 11:19:24
1203
原创 Python的json和pickle模块
1.json序列化序列化(json.dumps):是将内存中的对象存储到硬盘,变成字符串 反序列化(json,loads)将保存在硬盘中的对象从新加载到内存中 json.dumps(data,ensure_ascii=False, indent=4)# json序列化import jsoninfo = { 'name':"tom", "age" :"100"}f = open("test.txt",'w')# print(json.dumps(info))f.wr
2022-04-12 17:08:09
1248
原创 Django的路由配置
Django的URL路由配置Django如何处理一个请求实例路径转换器通过浏览器访问服务使用正则表达式:使用未命名的正则表达式组(不推荐)关于404的错误关于子路由路由的反向解析关于重定向Django的URL路由配置 一个优雅干净的URL方案是高质量Web应用程序中的一个重要细节 Django可以让你自己设计URL,没有框架的限制 要为应用程序设计URL,您可以非正式的创建一个名为**URLconf(URL配置)的Python模块 这个模块是纯Python代码,..
2021-09-28 00:24:02
877
原创 Django框架
Web开发介绍Web应用结构以及Web工作原理框架介绍1.什么是框架框架就是程序的骨架,主体结构,也是个半成品2.框架的有点可重用,成熟,稳健,易扩展就,易维护3.Python常见的框架 大包大揽Django,被官方称为完美主义者的Web框架 力求精简的web.py和tornado 新生的微框架Flask和Bottle 4.Web框架中的一些概念:MVC和MVTMVC模式M(Model):主要封装对数据库层的访问,进行增删.
2021-09-28 00:16:25
184
原创 Python之os模块
1.os()模块常用方法import os#1 当前工作目录,即当前python脚本工作的目录路径print(os.getcwd()) # C:\Users\admin\PycharmProjects\s14\Day5\test4#2 当前脚本工作目录;相当于shell下cdos.chdir("C:\\Users\\admin\\PycharmProjects\\s14")os.chdir(r"C:\Users\admin\PycharmProjects\s14")print(os
2021-09-12 22:31:42
159
原创 Python之random模块
1.random()模块常用的函数函数 描述 random() 返回0<n<=1 getrandbits(n) 以长整形形式返回n个随机位 uniform(a, b) 返回随机实数n,其中a<=n<=b randrange([start], stop, [step]) 返回range(start,stop,step)中的随机数 choice(seq) 从序列seq中返回随意元素 shuffle(seq[, random]
2021-09-12 22:27:16
169
原创 Python的time模块
1.1time()模块的三种格式模块 结果 说明 time.time() 1613221384.608557 时间戳 time.strftime('%Y-%m-%d') 2021-02-13 格式化时间 time.localtime() ime.struct_time(tm_year=2021-02-03,) 时间元组 1.2time模块的时间格式转换import timeprint(time.time()) ...
2021-09-12 22:13:25
196
原创 Python之pass空值语句
在Python中有一个pass语句,表示空值语句。它不做任何事情,一般只是起到占位的作用。比如,在应用for循环输出1-10之间(不包括10)的偶数,应用pass语句占个位置,方便以后对不是偶数的数进行处理。代码如下:for i in range(1,10): if i % 2 == 0: # 判断是否为偶数 print(i,end = '') else: # 不是偶数.
2021-09-12 19:08:22
305
原创 Python之跳转语句
1.break 语句break语句可以终止当前的循环,包括while和for在内的所有控制语句。例如一个人独自沿着操场跑步为例,原计划跑10圈。可是在跑到第二圈的时候,遇到自己的女神或者男神,于是果断的停下来,终止了跑步,这就是相当于使用了break语句提前终止了循环。说明:break语句一般会结合if语句进行搭配使用,表示在某种条件之下,跳出循环,如果使用嵌套循环,break则表示将跳出整个循环# 在while语句中使用break语句的形式如下:while 条件表达式1: 执行
2021-09-12 18:58:53
2611
原创 Python之异常处理
在程序运行的过程中,经常会遇到各种各样的错误,这些错误统称为"异常",这些异常有的是由于开发者将关键字敲错而导致的,这类错误多数产生的是SyntaxError;invalid syntax(即为无效的语法),这将直接导致程序不能运行,这些异常是显式的。还有一些是隐式的,通常和使用这的操作相关。一.try ··· except 语句# 语法格式如下:try: block1except [ExceptionName] [as alias] block2# 参数说明:# .
2021-09-12 18:18:08
356
原创 Http请求常见的状态码
2开头(请求成功)表示成功处理了请求的状态码200 (成功) 服务器已经处理了请求。通畅表示了服务器提供了请求的网页201 (已创建) 请求成功并且服务器创建了新的资源202 (已接收) 服务器已接收请求,但尚未处理203 (非授权信息) 服务器已经成功处理了请求,但是返回的信息可能来自于另一来源204 (无内容) 服务器已成功处理了请求,但没有返回任何内容205 (重置内容) 服务器成功处理了请求,但是没有返回任何内容206 (部分内容) 服务器成功处理了不呢GET请求3开头(请求
2021-09-12 00:14:26
535
原创 正则表达式
一.什么是正则:1.根据指定规则从字符串中提取子字符串2.指定规则:正则表达式3.字符串:待匹配字符串子字符串:匹配结果4.注意:正则并不是python独有的,各种语言都可以使用正则二.正则表达式应用场景1.表单验证(手机号验证,账号验证,密码验证)2.爬虫3.其他正则表达式的语法:1.元字符:可以匹配一个的符号...
2021-09-05 23:18:45
92
原创 Python字符串常用方法
# 1.使用“+”运算符可以完成多个字符串的拼接,“+”运算符可以连接多个字符串并产生一个新的字符串mot_en = 'James is a basketball player in the Earth'mot_cn = 'Kobe 'print(mot_cn + 'and'+mot_en) # Kobe and James id a basketball player in the Earth# 2.len方法可以用于计算字符串的长度(包括特殊字符)hanxin = 'bing xia.
2021-09-04 20:05:34
198
原创 Python的匿名函数
1.应用场景:在定义函数的时候,不想给函数起一个名字,这个时候我们可以使用匿名函数lambda来定义一个匿名函数2.语法: 变量名 = lambda 参数:表达式注:1.参数:可选,通畅用逗号隔开的表达式形式,也就是位置参数;2.参数可有可无,如果有多个参数,可以使用逗号隔开3.表达式计算的结果直接返回1.创建简单匿名函数func = lambda:3>2ret = func() # 变量名(),即可调用匿名函数,使用ret来接收变大时返回的内...
2021-08-31 14:15:35
798
原创 Python的四大高阶函数
1.map():map(function,Iterable) 作用:将可迭代对象的每一个元素传入函数中,实现相同的操作2.reduce():reduce(function,Iterable) 作用:将可迭代对象的元素进行累计操作3.filter()filter(function,Iterable) 作用:根据function内规则筛选可迭代对象中的元素,如果function返回True,这个元素保留,否则,抛弃掉4.sorted():sorted(Iterable,key=fun
2021-08-31 13:36:33
441
原创 Python的深浅拷贝(底层刨析)
一.概念1.深拷贝:会创建一个独立的内存空间,将原始数据放进去,修改深拷贝层的数据,原始数据会不会发生改变2.浅拷贝:只拷贝第一层的内容,修改浅拷贝层的数据,原始数据会发生改变二.代码底层刨析import copy sourceList = [1,2,3,[4,5,6]]copyList = copy.copy(sourceList)deepcopyList = copy.deepcopy(sourceList)sourceList[3][0] = 100print(sourc
2021-08-31 13:02:01
173
原创 Python中元组和列表的区别
二者的主要区别是:列表是可变的,数据可以动态的变化;而元组值不可变的,即大小固定。这也导致了二者提供的方法,应用场景还有性能上有很大的差别 数据量大的时候进行操作,元组明显优于列表 元组用于存储异构数据,也就是不同意义的数据,列表用于存储同构的数据,即具有相同意义的数据 元组具有结构,列表具有顺序...
2021-08-30 23:32:28
305
原创 Python中集合的常用方法
创建新的集合set1 = set()# 1.去重lst_1 = [1,2,3,4,5,1,2,3]lst_1 = set(lst_1) # the result:{1,2,3,4,5}# 2.intersection用于求两个集合的交集set1 = {1,2,3,4,6}set2 = {2,3,4}print(set1.intersection(set2)) # the result:{2,3,4}# 3.union.
2021-08-30 23:21:23
409
原创 Python中字典的常用方法
# 1.通过映射函数创建字典list1 = ['金州', '洛杉矶', '菲尼克斯']list2 = ['勇士', '湖人', '太阳']dictionary = dict(zip(list1, list2))# the result:{'金州':’勇士‘,'洛杉矶':'湖人','菲尼克斯':'太阳'}# 注:如果list1和list2的长度不一样时,则与最短的列表长度相同# 2.使用dict对象的fromkeys()方法创建值为空的字典name_list = ['韩信', '张良', '.
2021-08-30 22:57:22
348
原创 Python中列表的常用方法
# 1.append 用于在列表的末尾追加新的对象a = [1,2,3] a.append(4) # the result:[1,2,3,4]# 2.count方法用于统计某个元素在列表中出现的次数a = ['aa','bb','cc','aa','aa']print(a.count('aa')) # the result:3# 3.extend用于在列表的末尾一次性添加另一个序列中的多个值a = [1,2,3]b = [7,1,3]a.ext.
2021-08-30 21:57:23
3154
原创 Python对于logging模块的封装
import loggingimport timeimport randomfrom app import Base_Dirclass Log(): def __init__(self): self.log = logging.getLogger('shanxi_caizhengyun') self.log.setLevel(logging.DEBUG) def console_handle(self, level='DEBUG'): .
2021-08-23 20:51:17
143
原创 BS架构和CS架构的区别
架构:就是来指导我们软件开发的一种思路,目前常见的就是C/S,B/S架构区别: 标准:相对于C/S架构来说B/S架构的两端都是使用现成的成熟产品,BS会显示的更加的标准 效率:相对于B/S架构来说C/S架构中的客户端可以分担一些数据的处理,执行效率会更高一些 安全:B/S架构当中得到数据的传输都是以HTTP协议进行传输的,而HTTP协议是进行明文传输的,可以被抓包,因此C/S架构更见的安全 升级:B/S架构只需要在服务器端进行数据的更新,前台只需要刷新页面就可以..
2021-07-06 17:11:09
622
原创 JMeter的分布式
应用场景:当性能测试时需要模拟测的负载(用户/请求)太高,一台创世纪无法模拟,需要使用多台测试机一起来模拟达到要求的负载量,这就叫分布式原理分布式测试时通常由1台控制机和N台代理机 控制及:给代理发送任务,接收代理返回的数据统计,做汇总展示 代理记:往服务器发送HTTP请求,并接收服务器的响应,并对响应进行处理分布式分布式相关注意事项测试机上所有的防火墙关闭 有所的控制及,代理机,被测系统都在同一个子网中 所有的控制机和代理机安装的jmeter和JDK的版本必须完全一样
2021-07-02 19:43:06
80
原创 Jenkins(python接口自动化)
1.jinkens的安装(以windows为例)JENKINS 2.289.1 Setup2.基础配置1.系统管理 --- >系统配置 --- >全局属性 --- >环境变量 (中文配置) 键:JAVA_TOOL_OPTIONS 值:-Dfile.encoding=utf8 键:LANG 值:zh_CN.UTF-8 2.系统管理 --- >插件管理---> 可选插件 HTML Publish plugin 选中 install wit
2021-06-30 19:13:41
395
原创 Redis
Redis介绍Redis是完全开源的,遵守BSD协议,是一个高性能的key-value数据库性能极高-Redis能读的速度是110000次/s,写的速度是81000次/s 丰富的数据类型-Redis支持二进制案例的String,Lists,Headers,Set及Order Sets数据类型操作 原子-Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行,单个操作是原子性。多个操作也支持事务,即原子性,通过MULTI和EXCEL指令包起来。 丰富的特性-Redis还支.
2021-06-25 21:20:46
168
原创 DRF实现多账号的登录
django内置的用户认证方式是支持用户名和密码,而实际的项目开发中,登录方式往往不止一种,因此,需要重写用户认证类,指明新的认证方式django官方文档自定义身份认证类utils/auth.py,在项目中创建一个文件,自定义认证类from django.contrib.auth.backends import ModelBackendfrom django.contrib.auth.hashers import check_passwordfrom django.db.mo..
2021-06-24 10:37:37
355
原创 JWT
使用第一部分 声明的算法进行加密"TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"DJANGO方案一自己定义登录视图,使用pyjwt自己生成token,此类方案支持所有的python框架,但是比较麻烦生成tokenimport datatimeimport jwtfrom django.conf import settingsdef create_token(user): """ param user:用户对象
2021-06-24 10:09:00
145
原创 Git
Git 介绍Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git 安装Git 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载Git-2.30.0-64-bit.exe安装包到 自己的电脑
2021-06-24 08:36:39
145
原创 DRF之图片验证码
Uuid,唯一的身份标识码,在用户注册之前,网站没有任何东西来区分不同的客户端,因此在客户端生成一个uuid,django中通过不同的uuid来区分不同的客户端图片生成码生成与展示django# 定义视图# 接收参数uuid# 生成随机字符串# 利用captcha生成图片验证码# 返回图片验证码对应的图片流import randomimport stringimport redisfrom django.http.response import HttpResp..
2021-06-23 19:07:37
640
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人