- 博客(63)
- 收藏
- 关注
原创 django入门教程之cookie和session【六】
服务器在响应头中设置cookie,发给客户端,浏览器拿到响应头后会自动保存下来这个cookie,并在同一个域名后续的请求中将cookie作为请求头传给服务端。
2025-03-25 16:11:06
359
原创 django入门教程之自定义中间件【七】
settings.py中,中间件配置是MIDDLEWARE字段,请求时从上往下顺序执行,响应时从下往上执行。# 创建中间件目录和文件,注册到settings.py中。
2025-03-25 16:10:05
279
原创 django入门教程之templates和static资源【五】
在上述for循环中,价格的小数位数是不一致的,我们可以通过自定义过滤器实现此功能。前置操作:一定要把用到templates的app注册到settings.py的INSTALLED_APPS中。根据官方文档,我们要在app01目录下,新建一个python包,名为templatetags, 注意这里新建的一定得是python包,而不能是普通的directory。然后在templatetags目录下,新建一个python文件,这个文件名需要在html文件中加载。# 用装饰器或者用这个。
2025-03-25 14:56:55
1132
原创 django入门教程之类视图【四】
新建子应用clsview。类试图必须继承自View类,类中的方法名是http请求方式,需小写。也可定义非http请求名,但是无法从客户端直接接口或网页请求。路由绑定时,views.类名.as_view()。以上实现在浏览器中访问,,默认是get方法。如需测试post、put等方法,需用postman工具。
2025-03-25 14:56:04
250
原创 django入门教程之复杂路由【三】
自定义路由转换器,实际上就是django在对路由进行数据转换和简写正则路由的实现,这种实现方式是基于不同的转换器类来完成,开发者要实现自定义转换器,需要编写的类必须符合官方要求的3个基本要求:1.必须以类格式编写2.必须声明属性和方法:regex和方法:to_python,to_url;如果继承可不声明方法。3.必须通过register converter()进行注册才能被调用# urls.py# views.py。
2025-03-25 14:54:58
249
原创 django入门教程之request和reponse【二】
再创建一个orders子应用,python manager.py startapp orders,orders目录中新建一个urls.py文件。结构如图:通过上节课,我们知道在views.py文件中编写函数时,有一个默认入参request,通过它我们可以获取前端传进来的数据。
2025-03-20 15:09:56
712
原创 Django入门教程【一】
以上三步就可以完成一个小的demo页面了,使用python manager.py runserver 0.0.0.0:1992启动服务,打开浏览器访问,结果如下:(中文乱码,不管它)或在pycharm运行manager.py文件,但需要更改运行配置,加上runserver选项。可以创建多个子应用app,每个子app里创建自己的urls.py文件,这样写起来更方便。假设已创建了app01子应用,在app01目录中新建一个urls.py文件。2、app01/urls.py中定义函数和url的关系。
2025-03-20 14:26:18
252
原创 nmon监控linux系统性能
从上图可以看出,nmon可以采集cpu使用率、内存使用情况、内核统计信息和运行队列信息、磁盘 I/O 速度、传输和读/写比率、文件系统中的可用空间、磁盘适配器、网络 I/O 速度&传输和读/写比率、消耗资源最多的进程等信息。注意显示内容有限,当按键后如果不展示对应内容,一般就是窗口已有内容太多了(最底部的一行提示),建议把终端窗口拉大一点,显示的多一点。右侧显示的是支持的系统版本,下载下来后解压,根据你的linux版本选择合适的文件,我这边以ubuntu23为例进行说明。
2025-01-14 15:55:30
843
原创 app兼容测试点和可靠测试
低电量、低内存、弱网、网络切换、前后台切换、来电中断等。手机拨号盘输入 *#*#2846579#*#*主题适配:华为、荣耀、Nova。高低版本兼容:数据库的迁移。三方交互兼容:三方SDK。刘海屏、水滴屏、折叠屏。
2025-01-13 19:24:34
169
原创 app测试必备之adb命令
根据 2020-2021 年app项目进行测试的经验总结了这篇博文。由于时间较久,部分内容可能已不再适用或存在不准确之处,如有发现,敬请指出。
2025-01-13 19:00:47
763
原创 shell命令之用户和组操作
u 指定UID,若没有指定则默认生成一个新的UID;-m 创建家目录,若没有此选项则不会创建家目录;-d 指定家目录,若不指定则默认以“/home/用户名“作为家目录,必须有-m参数这个参数才生效;-g 指定GID,若没有指定-g,则默认以用户名创建一个新组;usera 指定用户名;创建后,可通过/etc/group 、/etc/passwd两个文件查看用户和组信息;也可通过“id + 用户名”查询用户信息。“groups + 用户名“ 查询用户的组信息;
2025-01-10 17:53:21
290
原创 面试前必过一遍的python基础
变量或函数前加单下划线_,代表不想被外部访问,但并不能阻止访问,可正常访问。而双下划线__代表私有变量,也并不是真正的私有,依然可以通过某种方式访问。#kk.py_a = 10print(_a)使用_开头的变量,导入时一定要明确导入,如果是import *默认是不会导入以_开头的变量。上述代码将_替换为__,也是一样的效果。_a = 10print(_a)_demo()以上代码能正确执行,但若是将_替换为__,则在类中无法使用__a和__demo(),会报错。由此可见,
2025-01-09 18:16:50
629
原创 mysql之组内排序ROW_NUMBER()函数
有个需求,需要组内排序,之前似乎从未接触过此类排序,故查询了一下,记录sql执行结果。COLUMN_1 是按哪一列分组,COLUMN_2是按哪一列进一步排序。现在要统计,2022年每个月,听的最多的前3首歌曲。因为ranking窗口函数不能在本句内使用,故。,然后再从表中筛选前3行的数据。
2025-01-02 15:18:09
427
原创 c++编译过程初识&静态&动态链接库&makefile&cmakelists初始
以上编译时都需要执行g++命令,如果项目比较大的话,这种方式是比较麻烦的,这时候就需要makefile文件了,它是定义一系列的编译规则的文件,一旦定义好,只需要执行一个make命令,整个工程完全自动编译。动态库有执行权限,静态库没有执行权限;静态链接:程序编译时,将所需的库文件直接嵌入到最终的可执行文件中,使程序在运行时不再依赖外部库文件,启动速度快,但占内存,且库文件更新需重新编译。make执行时,会进行时间戳比较,目标文件和依赖的时间戳比较,若是目标文件比依赖靠后,那make执行会提示“已是最新”。
2024-12-27 18:05:16
1185
原创 python\shell\c++语法对比
语法区别举例: if xxx:xxxelif xxx:xxxelse:xxxthenxxxthenxxxelsexxxfiif(xxx){xxx;xxx;else{xxx;xxxdoxxxdonexxx;}do{xxx;xxxdoxxxdone或者是for((i=0;i<10;i++))i<10;i++){xxx;}类似match...case语句:case 404:xxxcase 500:xxxcase _:xxx。
2024-12-21 19:38:17
477
原创 自动化中关于文本的xpath定位
/label[contains(text(), 'jpg')]/.. # 文本包含jpg的元素的上一层元素。//label[starts_with(@class, 'btn')] # class以btn开头。//input[@id='kw1' and @name='wd'] # 布尔定位,and or。selenium中://*[text()='内容']//label/div[1] # //相对路径。appium中://*[@text='热门']
2024-12-12 17:10:05
508
原创 pycharm中文件运行可以,但终端运行报错找不到模块解决
这是因为在文件中右击运行时,会自动将项目路径加到sys.path中,就能找到导入的模块;而在终端运行时,sys.path中只有当前文件的路径,没有项目路径,只需要在代码中加上sys.path.append('..')即可。当然如果上一级不是项目路径,可能需要添加的是../../../ ,根据自己情况而定。demo.py文件,在pycharm中打开,点击运行按钮是可以的,但是在终端运行总是报错找不到模块,此类问题如何解决?
2024-12-12 16:30:50
282
原创 python的rpc服务实现
最近工作中需要实现远程机器的自动化执行,调研了下实现机制,大体如下:内置库:xmlrpc(使用http协议作为传输协议的rpc机制,使用xml文本的方式传输命令和数据,数据包大,速度慢)第三方:ZeroRPC(底层使用ZeroMQ和MessagePack,基于TCP协议,轻量级的,速度快,响应时间短,并发高)
2024-12-11 14:20:01
735
原创 shell高阶命令之grep、sed、awk
正则版本:POSIX BREGNU BRE (主流)GNU ERE (主流)Perl-r参数是POSIX标准的一部分,它要求sed使用扩展正则表达式。在一些sed的实现中,-r参数可能不可用,或者行为可能有所不同。-E参数是GNUsedgsed)特有的,它也要求sed使用扩展正则表达式。-E参数在GNUsed中是可用的,并且在大多数现代Unix系统中,sed命令通常指的是GNUsed。-r 代表使用扩展正则,用()括起来的内容依次表示为1、2、3...,如下就是将2去除,只保留1的内容。
2024-12-09 14:46:25
651
原创 逃不掉的docker部署&使用
问题:下载好docker后,执行docker run hello-world命令,总是报错:Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)?key保存在/etc/docker/key.json中;
2024-12-07 18:17:46
462
1
原创 opencv实现元素的图片坐标定位
桌面应用程序的UI自动化,除了解析应用层级控件外,还可以通过图片定位获取目标元素位置,对其进行点击、双击、滚动等操作。python可用opencv库操作图片。
2024-12-07 18:06:17
792
原创 shell中[] [[]] (())比较
n用于判断变量是否为空,若为空,则为假,echo $?应该为1。但是上面代码中我没有定义var变量,echo $?却为0。这是因为[]会发生分词,将$a(空值)移除,相当于[-n],而[]中仅有一个参数且非空时会认为“真”,造成了这个小bug。但是用 [[]] 不会出现此bug,或者[ -n “$var”] 将变量加上双引号。
2024-12-07 17:33:15
371
原创 shell基础用法
如上图所示,一行的行首是0,行尾是$,第一行是gg,最后一行是G, 因此dgg代表删除当前行到第一行,dG代表删除当前行到最后一行,d0代表删除当前光标到当前行第一个字符,d$删除当前光标到当前行最后一个字符。当使用bash或./执行时,$0和${BASH_SOURCE}是一样的,但是通过.或source命令执行脚本时,$0就变为了/bin/bash ,无法达到想要的效果;利用括号,开启子she11的理念,以及检查,在she11脚本开发中,经常会用子she11进行多进程的处理,提高程序并发执行效率。
2024-12-07 16:39:15
1051
原创 dbus接口方法的variant类型传参详解
之前写的这篇博文介绍了如何创建一个dbus服务,但是注册的接口方法的入参还是比较简单的,实际上dbus的参数类型有很多种,调用方式也有多种,我们来逐一介绍下。其实基础数据类型,如字符串、整型、浮点型、布尔型等大多数情况下可以直接输入value值,便不再重点介绍,本文着重讲解c++语言中的variant类型如何传参。建议阅读此文章前,先阅读;
2024-12-05 16:41:03
823
原创 qt数据类型定义(包含签名)
2、qt不支持uint8的数组,只支持QByteArray,默认范围是-128-127。如果是此范围外的数据,qt会自动转换,比如255会转成-1, 250会转成-6。但是dbus支持的范围是0-255,所以-1或者-6到dbus后,又会被转为255或250。1、qt不支持int8,只支持quint8或uchar,默认范围是0-255。如果qt定义此范围外的数据,会自动转换,比如-1会转成255,256会转成0。,我就是用这个表格处理的excel中的数据上传。
2024-12-05 16:11:54
1062
原创 ffmpeg命令
ffplay 是 ffmpeg 软件包中的一个命令行多媒体播放器,它主要用于播放音视频文件;ffmpeg是专门处理多媒体文件(包括音频、视频)的命令;
2024-12-01 10:40:25
647
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人