博客园 - 向前走。
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=71465
2023-06-30T03:21:55Z
向前走。
https://www.cnblogs.com/zhongyehai/
feed.cnblogs.com
https://www.cnblogs.com/zhongyehai/p/17516181.html
adb/appium 重置手机数据/权限失败 的解决方案 - 向前走。
现象: 在启动appium时,设置了noReset为False,或者直接用adb清除数据,报错 下次执行APP自动化时,仍然是登录状态、记住了权限 解决方案: 打开开发者选项,打开以下3个开关,重启手机,重新连接USB USB调试、OEM解锁、禁止权限监控 再次执行adb清除命令,成功,用appiu
2023-06-30T03:22:00Z
2023-06-30T03:22:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】现象: 在启动appium时,设置了noReset为False,或者直接用adb清除数据,报错 下次执行APP自动化时,仍然是登录状态、记住了权限 解决方案: 打开开发者选项,打开以下3个开关,重启手机,重新连接USB USB调试、OEM解锁、禁止权限监控 再次执行adb清除命令,成功,用appiu <a href="https://www.cnblogs.com/zhongyehai/p/17516181.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/17513251.html
adb 识别不到手机解决方案 - 向前走。
手机已打开USB调试,已连接USB,但是adb命令找不到手机 排除设置问题,各种杀毒软件问题后还是找不到设备 1、打开计算机管理 2、在 计算机管理-系统工具-设备管理器-便携设备-【自己的设备】-双击-详细信息-选择硬件id,记住对应的值 3、在C盘中搜索.Android文件夹 4、在文件夹下的 
2023-06-29T01:56:00Z
2023-06-29T01:56:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】手机已打开USB调试,已连接USB,但是adb命令找不到手机 排除设置问题,各种杀毒软件问题后还是找不到设备 1、打开计算机管理 2、在 计算机管理-系统工具-设备管理器-便携设备-【自己的设备】-双击-详细信息-选择硬件id,记住对应的值 3、在C盘中搜索.Android文件夹 4、在文件夹下的  <a href="https://www.cnblogs.com/zhongyehai/p/17513251.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/16266455.html
Linux安装Chrome浏览器 - 向前走。
一、安装Chrome: 1、下载安装脚本: 新建一个目录,执行以下命令,将安装脚本下载到本地:wget https://intoli.com/install-google-chrome.sh,也可以下载后上传 2、授予可执行权限:chmod 755 ./install-google-chrome.s
2022-05-16T01:51:00Z
2022-05-16T01:51:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】一、安装Chrome: 1、下载安装脚本: 新建一个目录,执行以下命令,将安装脚本下载到本地:wget https://intoli.com/install-google-chrome.sh,也可以下载后上传 2、授予可执行权限:chmod 755 ./install-google-chrome.s <a href="https://www.cnblogs.com/zhongyehai/p/16266455.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15221195.html
Sanic二十九:Sanic 扩展之sanic-session的使用 - 向前走。
与flask一样,sanic也有一些自己的扩展,虽然生态不够强大,但基本使用足够了 sanic_session:用于保持会话,当用户登录过后,可以将用户数据存到sanic_session里面,以后就可以从sanic_session里面取用户信息,判断用户是否登录过了 sanic_session官方文
2021-09-02T14:53:00Z
2021-09-02T14:53:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】与flask一样,sanic也有一些自己的扩展,虽然生态不够强大,但基本使用足够了 sanic_session:用于保持会话,当用户登录过后,可以将用户数据存到sanic_session里面,以后就可以从sanic_session里面取用户信息,判断用户是否登录过了 sanic_session官方文 <a href="https://www.cnblogs.com/zhongyehai/p/15221195.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15208134.html
Sanic二十八:Sanic + tortoise-orm 之Model、QuerySet提供的数据操作方法 - 向前走。
Model,QuerySet除了提供了查询操作外,还提供了对数据和数据库进行操作的方法 一、先看Model 1、save:插入或更新数据,即,当数据不存在时,新建,当数据已存在时,更新 没有的数据,插入 2、create:创建单条数据,并返回数据,由源码看,其实也是调的save方法 3、bulk_c
2021-08-31T14:44:00Z
2021-08-31T14:44:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】Model,QuerySet除了提供了查询操作外,还提供了对数据和数据库进行操作的方法 一、先看Model 1、save:插入或更新数据,即,当数据不存在时,新建,当数据已存在时,更新 没有的数据,插入 2、create:创建单条数据,并返回数据,由源码看,其实也是调的save方法 3、bulk_c <a href="https://www.cnblogs.com/zhongyehai/p/15208134.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15208048.html
Sanic二十七:Sanic + tortoise-orm 之Q对象 - 向前走。
有时候需要进行复杂的查询,但是仅仅靠QuerySet提供的那些方法是完全不够的,tortoise-orm提供了Q对象,用于做复杂的查询 from tortoise.query_utils import Q 1、与:& 若不写连接符,则默认为and 2、或:| 3、非:~
2021-08-30T13:53:00Z
2021-08-30T13:53:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】有时候需要进行复杂的查询,但是仅仅靠QuerySet提供的那些方法是完全不够的,tortoise-orm提供了Q对象,用于做复杂的查询 from tortoise.query_utils import Q 1、与:& 若不写连接符,则默认为and 2、或:| 3、非:~ <a href="https://www.cnblogs.com/zhongyehai/p/15208048.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15202038.html
Sanic二十六:Sanic + tortoise-orm 之Model、QuerySet提供的查询方法 - 向前走。
数据 由于在创建模型的时候,是继承的tortoise.Model,看看tortoise.Model都提供了什么方法,如果发现又不满足使用场景的情况,再来修改或者补充 看看有用的方法 1、filter:使用给定的过滤条件创建 QuerySet,即查询满足指定条件的数据 2、exclude:使用给定的排
2021-08-30T13:31:00Z
2021-08-30T13:31:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】数据 由于在创建模型的时候,是继承的tortoise.Model,看看tortoise.Model都提供了什么方法,如果发现又不满足使用场景的情况,再来修改或者补充 看看有用的方法 1、filter:使用给定的过滤条件创建 QuerySet,即查询满足指定条件的数据 2、exclude:使用给定的排 <a href="https://www.cnblogs.com/zhongyehai/p/15202038.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15191618.html
Sanic二十五:Sanic + tortoise-orm 之表关联 - 向前走。
一、ForeignKeyField:外键关系字段,此字段表示与另一个模型的外键关系 1、model_name: str 已定义的模型的名称,必传2、related_name: 外键关系名称3、on_delete: str 默认"CASCADE" field.CASCADE:表示如果相关模型被删除,模
2021-08-26T14:15:00Z
2021-08-26T14:15:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】一、ForeignKeyField:外键关系字段,此字段表示与另一个模型的外键关系 1、model_name: str 已定义的模型的名称,必传2、related_name: 外键关系名称3、on_delete: str 默认"CASCADE" field.CASCADE:表示如果相关模型被删除,模 <a href="https://www.cnblogs.com/zhongyehai/p/15191618.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15187199.html
Sanic二十四:Sanic + tortoise-orm 之常用字段类型和参数 - 向前走。
在 tortoise-orm 中定义字段,需要使用 tortoise-orm提供的fields模块下的字段 1、BigIntField:大整数字段,长度支持64位,除了支持继承自Field的参数外,还支持pk(primary key),指定是否为主键 constraints属性:返回具有以 Pyda
2021-08-25T14:15:00Z
2021-08-25T14:15:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】在 tortoise-orm 中定义字段,需要使用 tortoise-orm提供的fields模块下的字段 1、BigIntField:大整数字段,长度支持64位,除了支持继承自Field的参数外,还支持pk(primary key),指定是否为主键 constraints属性:返回具有以 Pyda <a href="https://www.cnblogs.com/zhongyehai/p/15187199.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15182408.html
Sanic二十三:Sanic + tortoise-orm 之父类Field的参数、属性、方法 - 向前走。
在 tortoise.fields.base 中,先定义了 _FieldMeta,然后定义了 Field 继承 _FieldMeta,然后所有字段类型都继承 Field 一:支持的参数 Field参数: source_field: str 可用此参数指定字段为其他名字,而不使用定义的字段变量名作为表
2021-08-25T13:29:00Z
2021-08-25T13:29:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】在 tortoise.fields.base 中,先定义了 _FieldMeta,然后定义了 Field 继承 _FieldMeta,然后所有字段类型都继承 Field 一:支持的参数 Field参数: source_field: str 可用此参数指定字段为其他名字,而不使用定义的字段变量名作为表 <a href="https://www.cnblogs.com/zhongyehai/p/15182408.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15178096.html
Sanic二十二:Sanic + tortoise-orm 之使用aerich执行数据库迁移 - 向前走。
在定义了模型,或者对模型进行了一些修改过后,是不会直接映射到数据库,并修改表的,这个时候就需要使用数据看迁移工具,tortoise-orm匹配的数据库迁移工具为aerich aerich没有官网,只能在GitHub上找到源码,源码上有简略的使用方法:https://github.com/tortoi
2021-08-23T14:54:00Z
2021-08-23T14:54:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】在定义了模型,或者对模型进行了一些修改过后,是不会直接映射到数据库,并修改表的,这个时候就需要使用数据看迁移工具,tortoise-orm匹配的数据库迁移工具为aerich aerich没有官网,只能在GitHub上找到源码,源码上有简略的使用方法:https://github.com/tortoi <a href="https://www.cnblogs.com/zhongyehai/p/15178096.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15178002.html
Sanic二十一:Sanic + tortoise-orm 之模型定义 - 向前走。
Tortoise ORM 是异步的ORM,设计灵感来自 Django,官网:https://tortoise.github.io/ Tortoise ORM 目前支持以下数据库 : 1、PostgreSQL >= 9.4,使用asyncpg 2、SQLite,使用aiosqlite 3、MySQL/
2021-08-23T14:52:00Z
2021-08-23T14:52:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】Tortoise ORM 是异步的ORM,设计灵感来自 Django,官网:https://tortoise.github.io/ Tortoise ORM 目前支持以下数据库 : 1、PostgreSQL >= 9.4,使用asyncpg 2、SQLite,使用aiosqlite 3、MySQL/ <a href="https://www.cnblogs.com/zhongyehai/p/15178002.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15142018.html
Sanic二十:Sanic 扩展之sanic-openapi生成接口文档之sanic-openapi支持的数据类型 - 向前走。
在doc模块下,由源码可见,显示封装了一个Field父类,然后定义了一些具体的数据类型来继承Field类,所以继承的子类都支持Field定义的参数 使用示例 1、整数,要标注为整数,可以使用int或者doc.Integer 2、浮点数,要标注为浮点数,可以使用float或者doc.Float 3、字
2021-08-14T14:00:00Z
2021-08-14T14:00:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】在doc模块下,由源码可见,显示封装了一个Field父类,然后定义了一些具体的数据类型来继承Field类,所以继承的子类都支持Field定义的参数 使用示例 1、整数,要标注为整数,可以使用int或者doc.Integer 2、浮点数,要标注为浮点数,可以使用float或者doc.Float 3、字 <a href="https://www.cnblogs.com/zhongyehai/p/15142018.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15141548.html
Sanic十九:Sanic 扩展之sanic-openapi生成接口文档之doc提供的一些装饰器 - 向前走。
sanic-openapi除了可以使用app.config来指定一些基础的配置外,sanic-openapi.doc还提供了很多装饰器用法的配置,导入doc模块 1、exclude(True):用此装饰器修饰的路由将不会显示在Swagger中 2、summary():添加接口的概述 3、descri
2021-08-14T13:24:00Z
2021-08-14T13:24:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】sanic-openapi除了可以使用app.config来指定一些基础的配置外,sanic-openapi.doc还提供了很多装饰器用法的配置,导入doc模块 1、exclude(True):用此装饰器修饰的路由将不会显示在Swagger中 2、summary():添加接口的概述 3、descri <a href="https://www.cnblogs.com/zhongyehai/p/15141548.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15135140.html
Sanic十八:Sanic 扩展之sanic-openapi生成接口文档之文档配置 - 向前走。
1、设置文档title:API_TITLE 2、设置版本:API_VERSION 3、配置系统描述:API_DESCRIPTION 4、配置服务条款:API_TERMS_OF_SERVICE 5、配置邮件联系方式:API_CONTACT_EMAIL 6、配置许可证:API_LICENSE_NAME
2021-08-12T14:24:00Z
2021-08-12T14:24:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】1、设置文档title:API_TITLE 2、设置版本:API_VERSION 3、配置系统描述:API_DESCRIPTION 4、配置服务条款:API_TERMS_OF_SERVICE 5、配置邮件联系方式:API_CONTACT_EMAIL 6、配置许可证:API_LICENSE_NAME <a href="https://www.cnblogs.com/zhongyehai/p/15135140.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15134987.html
Sanic十八:Sanic 扩展之sanic-openapi生成接口文档之入门使用 - 向前走。
sanic-openapi是Sanic的作者编写的一个插件,专用于生成接口文档,在编写了接口后无需再去编写接口文档,只需要用sanic-openapi生成Swagger 文档即可 使用手册:https://sanic-openapi.readthedocs.io/en/stable/sanic_op
2021-08-12T13:36:00Z
2021-08-12T13:36:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】sanic-openapi是Sanic的作者编写的一个插件,专用于生成接口文档,在编写了接口后无需再去编写接口文档,只需要用sanic-openapi生成Swagger 文档即可 使用手册:https://sanic-openapi.readthedocs.io/en/stable/sanic_op <a href="https://www.cnblogs.com/zhongyehai/p/15134987.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15126115.html
Sanic十七:Sanic + 异步orm之Tortoise-ORM - 向前走。
Tortoise-ORM 也是个非常优秀的异步orm框架 官网:https://tortoise-orm.readthedocs.io/en/latest/ 官网提供的与sanic结合使用的示例:https://tortoise-orm.readthedocs.io/en/latest/exampl
2021-08-11T14:12:00Z
2021-08-11T14:12:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】Tortoise-ORM 也是个非常优秀的异步orm框架 官网:https://tortoise-orm.readthedocs.io/en/latest/ 官网提供的与sanic结合使用的示例:https://tortoise-orm.readthedocs.io/en/latest/exampl <a href="https://www.cnblogs.com/zhongyehai/p/15126115.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15126112.html
Sanic十六:Sanic + 异步orm之SQLAlchemy - 向前走。
Sanic是异步库,想要发挥其强大的性能,当需要使用第三方库的时候,就需要使用异步的库,在python中,异步orm较为常见的就两个可,一个SQLAlchemy,一个Tortoise-ORM SQLAlchemy 在1.4版本之后,已经支持异步了,既然要用异步,那同步库的PyMYSQL肯就就不能满足
2021-08-11T13:52:00Z
2021-08-11T13:52:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】Sanic是异步库,想要发挥其强大的性能,当需要使用第三方库的时候,就需要使用异步的库,在python中,异步orm较为常见的就两个可,一个SQLAlchemy,一个Tortoise-ORM SQLAlchemy 在1.4版本之后,已经支持异步了,既然要用异步,那同步库的PyMYSQL肯就就不能满足 <a href="https://www.cnblogs.com/zhongyehai/p/15126112.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15120938.html
Sanic十五:Sanic + pyjwt 实现token验证 - 向前走。
安装pyjwt:pip install pyjwt pyjwt的使用,主要是一个加密,一个解密 token校验代码 在视图中使用 1、登录,获取token 2、用token请求需校验token的接口 auth: from functools import wrapsimport jwtfrom sa
2021-08-09T14:13:00Z
2021-08-09T14:13:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】安装pyjwt:pip install pyjwt pyjwt的使用,主要是一个加密,一个解密 token校验代码 在视图中使用 1、登录,获取token 2、用token请求需校验token的接口 auth: from functools import wrapsimport jwtfrom sa <a href="https://www.cnblogs.com/zhongyehai/p/15120938.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhongyehai/p/15120633.html
Sanic十四:Sanic上下文ctx - 向前走。
由于Sanic是异步框架,所以没办像flask一样提供一个全局的Request对象,但是Sanic提供了一个自定义上下文的功能,只需要指定ctx即可 一、Sanic自带的上下文管理器 由源码看,当没有指定ctx时,Sanic会默认使用 SimpleNamespace() 进行实例化 使用示例,在中间
2021-08-09T14:12:00Z
2021-08-09T14:12:00Z
向前走。
https://www.cnblogs.com/zhongyehai/
【摘要】由于Sanic是异步框架,所以没办像flask一样提供一个全局的Request对象,但是Sanic提供了一个自定义上下文的功能,只需要指定ctx即可 一、Sanic自带的上下文管理器 由源码看,当没有指定ctx时,Sanic会默认使用 SimpleNamespace() 进行实例化 使用示例,在中间 <a href="https://www.cnblogs.com/zhongyehai/p/15120633.html" target="_blank">阅读全文</a>