謹言
测试工程师(世上没有白走的路,每一步都算数)
展开
-
Python--测开学习目录
创建虚拟环境搭建django项目工程开启git版本管理django项目工程结构Django中的viewsORM框架前端传参解析Django REST framework原创 2022-04-12 23:08:42 · 836 阅读 · 0 评论 -
模型序列化器类
1、继承serializers.ModelSerializer类或者其子类2、需要在Meta内部类中指定model、fields、exclude类属性参数fields指定模型类中哪些字段需要自动生成序列化器字段 如果指定为"__all__",那么模型类中所有的字段都需要自动转化为序列化器字段 可以传递需要转化为序列化器字段的模型字段名元组fields = ('id', 'name', 'leader')exclude指定模型类中哪些字段不需要转化为序列化器字段,其他的字段都需要转化ex原创 2022-04-18 14:28:27 · 267 阅读 · 1 评论 -
序列化器
一、序列化器a.如果需要使用DRF框架来实现序列化、反列化、数据操作,在子应用中创建serializers.py文件b.文件名推荐命名为serializers.py二、定义序列化器类1.必须得继承Serializer类或者Serializer子类2.定义的序列化器类中,字段名要与模型类中的字段名保持一致3.定义的序列化器类的字段(类属性)为Field子类4.默认定义哪些字段,那么哪些字段就会返回前端,同时也必须得输入(前端需要传递)5.常用的序列化器字段类型 IntegerFi...原创 2022-04-13 11:54:30 · 381 阅读 · 0 评论 -
Django REST framework
RESTful是一种开发理念,是一种设计风格而不是标准,REST(英文:Representational State Transfer,简称REST)创建接口的任务校验用户的数据 将请求的数据(如json格式)转换为模型类对象 反序列化 将其他格式(json、xml等)转换为程序中的数据类型 将json格式的字符串转换为Django中的模型类对象 操作数据库 将模型类对象转换为相应的数据(如json格式) 序列化 将程序中的数据类型转换为其他格式(json、xml)原创 2022-04-11 20:43:55 · 1120 阅读 · 0 评论 -
前端传参解析
前端参数解析前端传递参数的方式1.路径参数 a.在url路径中传递的参数 b.在请求实例方法中,使用关键字参数来接收2.查询字符串参数 a.url ?后面的key value键值对参数,如:http://www.xxx.com/?key1=value1&key2=value2 b.request.GET获取 c.request.GET返回QueryDict,类似于python中dict类型 d.可以使用['key1']、get('key1'),会返回具体的值,如果有.原创 2022-04-11 19:15:13 · 2567 阅读 · 0 评论 -
ORM框架
一、创建方式一:a.直接使用模型类(字段名1=值1, 字段名2=值2, ...),来创建模型类实例b.必须模型实例调用save()方法,才会执行sql语句obj = Projects(name='xxx金融项目', leader='多喝热水')obj.save()方式二:a.使用模型类.objects返回manager对象b.使用manager对象.create(字段名1=值1, 字段名2=值2, ...),来创建模型类实例c.无需使用模型实例调用save()方法,会自动执行sql语句原创 2022-04-08 14:47:37 · 139 阅读 · 0 评论 -
Django中的views
视图函数a.视图函数的第一参数是HttpRequest对象b.HttpRequest对象包含了请求的所有数据(请求头、请求体)c.视图函数必须得返回一个HttpResponse对象或者其子类对象:param request::return:def projects(request): """ 视图函数 a.视图函数的第一参数是HttpRequest对象 b.HttpRequest对象包含了请求的所有数据(请求头、请求体) c.视图函数必须得返回一个H.原创 2022-04-02 20:16:23 · 759 阅读 · 0 评论 -
django项目工程结构
主应用:1.与项目同名的包dev07 __init__.py 为包文件 asgi.py 用于启动ASGI协议应用服务器的入口文件,在异步项目部署时使用 settings.py 用于存放django的全局配置信息 urls.py 用于创建全局路由信息 wsgi.py 用于启动WSGI协议应用服务器的入口文件,在部署时使用2.项目根路径下的文件 db.sqlite3 django项目.原创 2022-04-02 19:55:25 · 734 阅读 · 0 评论 -
开启git版本管理
a.Pycharm专业版可以打开vcs -> enable .... -> 选择git即可b.Pycharm社区版本可以打开terminal -> git init原创 2022-04-02 19:49:57 · 744 阅读 · 0 评论 -
搭建django项目工程
1.修改pypi源(可选) Pipfile文件中url2.下载django程序 a.直接使用pycharm下载(File -> settings -> project -> +),推荐 b.可以手动下载(打开Terminal -> pipenv shell进入到虚拟环境中 -> pip install django或者pipenv install django)3.创建django项目工程 a.进入到虚拟环境中(pipenv shell.原创 2022-04-02 19:49:14 · 663 阅读 · 0 评论 -
创建虚拟环境
一、虚拟环境1.创建虚拟环境方式一: a.直接使用Pycharm专业版本创建虚拟环境(virtualenv或者pipenv) b.不推荐方式二: 手动创建 a.安装pipenv pip install -i https://pypi.douban.com/simple pipenv b.创建虚拟环境并进入到虚拟环境中 pipenv shell 1)如果当前路径下,没有虚拟环境,会自动创建,名称为:项目名.原创 2022-04-02 19:48:24 · 1198 阅读 · 1 评论 -
魔术 方法
__str__():自定义print对象时显示的格式原创 2022-03-14 18:41:54 · 717 阅读 · 0 评论 -
单例 模式
单例模式: 只有一个实例实现方法: 方法一:import 方法二:单例模式 方法三:装饰器class Person(object): obj = None def __init__(self): pass def __new__(cls, *args, **kwargs): """如果对象已经创建,就直接把创建好的对象返回 如果对象没有创建,就创建对象,并返回""" if...原创 2022-03-14 17:05:53 · 232 阅读 · 0 评论 -
万能的装饰器
工作中装饰器的作用:在不更改函数的基础上,为函数添加额外的功能def log(filename: str): def inner(func): print(f'{func.__name__}') def wrapper(*args, **kwargs): print(args) func(*args, **kwargs) return wrapper return inner@原创 2022-03-14 17:00:17 · 488 阅读 · 0 评论 -
神奇的内置函数
filter(怎么过滤,要过滤的对象) 过滤 从可迭代对象中筛选出满足条件的元素map(如何映射,[要映射的对象1,要映射的对象2....]reduce ((((1+2)+3)+4)+5)def reduce_test(): # 累加功能: 1~5做累加 [1,2,3,4,5] = > (((1+2) + 3) + 4) def f(x, y): result = x + y return result print(s.原创 2022-03-14 16:43:09 · 162 阅读 · 0 评论 -
递归、回调、闭包
函数中调用函数:如果调用的是自身,叫递归"""遍历目录:请用递归方法输出某文件夹下的所有文件的绝对路径"""import osdef print_all_files(file_path): for root, dirs, files in os.walk(file_path): for filename in files: print(os.path.join(root, filename))def print_all_files2(f原创 2022-03-14 16:32:05 · 646 阅读 · 0 评论 -
可迭代对象/迭代器/生成器
可迭代对象可以用for操作的对象都是可迭代对象:list,tuple,str,set,dictfor i in [1, 2, 3]: print(i)print(hasattr(list, "__iter__"))print(hasattr(tuple, "__iter__"))print(hasattr(str, "__iter__"))print(hasattr(set, "__iter__"))print(hasattr(dict, "__iter__"))print(h原创 2022-03-14 15:54:38 · 442 阅读 · 0 评论 -
列表推导式
推导式的格式:[处理迭代中的每一个元素 for语句 条件判断]def test_derivation(): # 返回1~100所有的偶数 [2,4,6,8.....100] result = [] for i in range(1, 101): if i % 2 == 0: result.append(i) print(result) print([i for i in range(1, 101) if i ..原创 2022-03-14 15:45:10 · 284 阅读 · 0 评论 -
Python的自省函数
自省: 汉语解释为”自我反省“Python的自省:Python运行的时候知道对象自身有哪些东西dir() # Python查看对象有哪些属性 hasattr() # Python查看对象是否有每个属性 type() # Python查看对象是什么类型 isinstance() # Python查看对象是不是某个类型 id() # Python查看对象的id是什么 callable() # Python判断对象是不是可调用的(即是不是可以加括号调用) help() ...原创 2022-03-14 14:43:52 · 1432 阅读 · 0 评论 -
pickle的功能: 序列化和反序列化
序列化:把内存中的数据保存到文件pickle.dump(self.book_list, open("book.data", "wb")) # 把对象保存到文件反列化:把文件中的内容加载到内存pickle.load(open("book.data", "rb"))原创 2022-03-14 14:22:21 · 202 阅读 · 0 评论