自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flask+LayUI开发手记(六):树型表格的增删改查

树型表格的增删改查功能与数据表格的是完全一致,就是调用layui-form表单组件实现数据输入再提交,比较大的区别是树型节点的编辑,都需要有上级节点的输入,而这个上级节点的展示,必须是以树型方式展示出来。而复杂的展示模式,就是用真正的树型组件来展示,而layui也正好提供了树型组件Tree。post部分是对数据增删改等操作进行统一的处理,需要特别说明的是在编辑功能完成后加了Branch_Tree.init_dim(),这是为了在修改机构数据后可以同步机构树型的数据,相应的数据处理是第四部分的内容。

2024-08-30 22:09:05 1170

原创 Flask+LayUI开发手记(五):树型表格实现数据展示与编辑

要知道,在系统编程中,有父子节点关系的数据真是太多了,随便想一下就可以举出很多例子,比如权限、栏目、机构、产品、科目、货币、行业诸般等等,其实只要是稍微复杂一点的参数数据都会以树型方式来进行组织。树型表格最经典的实现应该是机构维护的程序,这次就拿它来做例子,本部分还是先做数据查询列表的功能,下一部分介绍树型表格的编辑。组织机构数据列表的程序包括如下几部分,后端包括机构model和机构列表数据准备以及机构树型数据的组织三部分,前端是树型表格的展示实现。注意,想让树型能够成功展示出来,下面的每个环节都很重要。

2024-08-29 15:56:07 889

原创 Flask+LayUI开发手记(四):弹出层实现增删改查功能

在上一节用dataTable实现数据列表时,已经加了表头工具栏和表内工具栏,栏内的按钮功能都是用来完成数据的增删改查了,这又分成两类功能,一类是删除或设置,这类功能简单,只需要选定记录,然后提交到后端服务进行特定字段的修改即可,另一类是查明细、增加、修改记录,这三类功能,都需要生成一个新的数据编辑界面完成记录全内容的展示,然后输入相应的字段值,提交到后端服务进行相应的数据更新操作,同时,在录入和提交时,还需要对录入字段值进行合规检查。对前端界面来说,最重要的参数是当前记录的id值,以及当前页数。

2024-08-25 18:17:31 1221

原创 Flask+LayUI开发手记(三):LayUI表格的后端数据分页展现

第三部分是程序的主体生成下传的数据集。数据集的格式是在table.render()的说明里规定的,包括四项,code是结果码,0表示正常返回,msg返回一个提示信息,当错误时前端会显示这个信息,count是总的记录数,前端将根据这个记录数重新调整分页栏的内容,data就是数据结果集。通过后端程序可以看出来,除了前端post请求中列出的上传参数外,在request的参数里多了两个隐含参数,page和limit,page是当前页数,limit是每页记录数,通过这两个参数可以计算出前端要求数据的偏移量。

2024-08-24 09:37:48 1014 1

原创 Flask+LayUI开发手记(二):LayUI弹出层表单的校验

前几天做了很多增删改查的功能,都是用layer.open打开编辑页面,然后在yes中获取form的值数组,再用post进行提交的,只是还没研究到lay-verify这块,今天这个功能特别简单,所以觉得研究一下也是很有必要的,应该说网上的参考做法都复杂了,比如绑定页面内提交按钮,在用btn0提交后激发form内提交按钮动作,太难控制了。这次又仔细地看了一个form.submit的说明,发现它多了两个参数,一个是form的filter项,另一个是有个提交的回调函数入口,入口参数是表单数据data。

2024-08-23 17:45:10 742

原创 Flask+LayUI开发手记(一):LayUI表格的前端数据分页展现

因为,一次把数据全传到前端的模式,意味着系统内出现两套数据,一套前端缓冲数据,一套后端原本数据,如果功能中需要增删改数据,如何保持前后端数据的一致性,就成了控制上的大问题。前端数据分页,即一次性提取后台数据到前端,由前端实现全部的分页数据处理控制,后端数据分页,即前端展示分页操作栏,所有的分页操作均提交到后端进行数据请求,由后端生成分页数据传给前端。把这些都配置完成,执行一下,数据出来了,而且,data数据源模式下,table会自动完成分页展示控制,不需要再象url数据源模式下,还需要各种特殊处理了。

2024-08-03 13:41:47 1828

原创 Flask+LayUI开发手记(序)

而且主要是入门学习用的,所有的程序实现,同样的需求,其实实现原理也都差不多,所谓开发平台的差异,真熟悉了,把应用迁移到另一个上,也就一个月的工作量,真没啥难度。因此,学完基本的python操作后,深刻理解到它的方便和简捷后,不由得生成新的想法,最想做的反而不再是数据分析,而是觉得可以搭建一套架构简单、编程工作量小并且技术难度低的轻量级系统技术框架,把日常工作中遇到的一些小型企业应用用最低的成本最快的时间给实现了。最可贵的,它是一个工具库,而不是一个平台,不是排它性的,不会说用了LayUI就不能用别的。

2024-08-01 19:02:36 496

原创 Python确实是神器

要是以前,还真挺费事的,因为把视频录下来倒很容易,直接用手机的录屏功能就可以,但录下来的视频要导出音频来就比较麻烦了,必须找视频编辑软件来做,现在的软件基本都是收费的,或者免费但带很多广告,特别烦。好在,俺开始用Python了,就有了另一条道路。百度搜"python 视频导出音频”,马上就出来方案了,而且特别简单,就输入下面这一小段程序。老妈打太极拳,发现抖音里有段短视频音乐特别好听,就问,能不能把音乐给录下来放到她的播放器里。忽然有点四顾剑的感觉。关键,转换时还居然贴心地显示进度条,太高了。

2024-06-22 16:08:51 147

原创 Python新手学习(十六):自动控制键盘和鼠标

fw.maximize() 最大化 fw.minimize() 最小化 fw.restore() 恢复。keyDown() 按下键盘 keyUp() 释放键盘 press()按键并松开。getWindowsAt(x,y) 获取所有包含点(x,y)的窗口对象。rigthClick()/middleClick() 单击右键/中键。fw.activate() 激活窗口 fw.close() 关闭。mouseDown()/mouseUp() 按下鼠标/释放鼠标。

2024-05-22 19:01:14 597 1

原创 Python新手学习(十五):操作图像

Image.new(‘RGBA’,(width,height),bgcolor) 新生成一个空图像文件.FLIP_LEFT_RIGHT:左右翻转 FLIP_TOP_BOTTOM:上下翻转。Image.putpixel((x,y),(RGB)) 设定指定坐标的颜色值。Image.getpixel((x,y)) 取指定坐标的颜色值。文本:text((x,y),text ,fill,font)多边形:polygon(xy,fill,outline)Image.paste(sIm,(x,y)) 图像粘贴。

2024-05-13 15:49:10 482 1

原创 Python新手学习(十四):保持时间、计划任务和启动程序

结果位数超过str()上限,要用sys.set_int_max_str_digits(1000000)拓位。datetime.datetime.strftime() 将datetime对象转换成字符串。datetime.datetime.strptime() 将字符串转换为datetime。运行其它python脚本 Popen([‘py’,’hello.py’])datetime.datetime.now() 显示当前的日期时间。poll() 轮询 wait()阻塞等待。

2024-05-12 20:04:01 322 2

原创 Python新手学习(十三):处理CSV和JSON数据

要求输入城市名称和国家代码,国家代码采用ISO 3166(书中的CA意为加州,CA国家代码为加拿大,改成US)如果文件中没有标题行,在生成DictReader对象时,可以带入标题名称列表,作为第二个参数。csvdata = list(csv.reader()) 数据可作为列表来处理。lineterminator用于修改行终止字符,比如替换成‘\n\n’reader对象只能循环遍历一次,如再次读取,必须再创建。writer不强制写入行的列数一致。行数据采用字典方式,取数据时,以标题名称为索引读取。

2024-05-09 18:18:53 773

原创 Python新手学习(十二):处理PDF与Word文档

模块重载,del sys.modules[‘model_name’] import fname。doc.paragraph[i].add_run(text,style) 加入run。doc.paragraphs[i].runs[j].text Run对象的文本。doc.paragraphs[i].runs[] Run对象,以空格分开。doc.paragraphs[] 文档中包含的对象,对应文档段落。doc.paragraphs[i].text 每个对象包含的文本。

2024-05-07 21:12:35 721

原创 Python新手学习(十一):处理EXCEL表格

c.value c.row c.column c.coordinate 值、行、列、座标。sheet.column_dimension[‘A’.width 调整列宽。sheet.rown_dimension[1].height 调整行高。sheet.cell(row=1,column=2) 得到单元格。sheet.merge_cells(‘A1:D3’) 合并单元格。sheet.unmerge_cells() 拆分单元格。wb.create_sheet()创建工作表。测试程序:test_1301.py。

2024-05-06 15:51:46 928 3

原创 Python新手学习(十):从WEB抓取数据

注意是'head > title',不是'head' > title'检查错误res.raise_for_status()browser = webdriver.Chrome() #用Chrome浏览器。webbrowser模块 webbrowser.open(‘url’)百度有反爬设置,通过网站直接搜索可以,将Url带到程序中,返回页面没有信息。print(soup.select('a')) # 通过标签的名称查找。用select()方法寻找元素 soup.select()elem.get()

2024-05-05 16:51:17 511 2

原创 Python新手学习(九):调试

抛出的异常未处理,则会显示回溯信息,最终定位到出错的语句行。traceback.format_exc() 得到回溯字符串。logging模块可以在显示和隐藏日志间进行切换。禁用CRITICAL最高级别,所有日志均不显示。except 捕捉异常。交通灯模拟 test_1103.py。测试程序:test_1101.py。测试程序:test_1102.py。测试程序:test_1104.py。vscode调试模式实现。raise 抛出异常。traceback模块。

2024-05-05 16:07:12 316 2

原创 Python新手学习(八):组织文件

getinfo() 读指定文件的信息,file_size compress_size。测试程序:test_1003.pys (原书程序有错误,会将日期识别成月份)。shutil.rmtree() 删除目录树型,不能删除文件。复制文件和文件夹 copy() copytree()os.glob() 得到路径下的文件列表。extract() 解压缩指定文件。os.unlink() 删除文件。os.rmdir() 删除空目录。namelist() 读文件列表。文件和文件夹的移动 move()

2024-05-04 20:20:27 258 1

原创 Python新手学习(七):读写文件

Path().name 文件名 Path().stem主干名 Path().suffix 扩展名。创建新文件夹:os.makedirs() Path.mkdir()os.path.split() 生成目录名和文件名的元组。Path().glob() 返回列出的文件名生成器对象。path().exists() 路径存在否。Path().parents() 取父目录的各级。os.path.basename() 取文件名。os.path.dirname() 取路径名。Path().is_file() 是文件。

2024-05-04 16:11:58 421 1

原创 Python新手学习(六):模式匹配、正则表达式和输入验证

匹配Regex对象: search() group()只能采用固定的匹配模式,复杂的匹配程序过于繁琐。句点.称为通配字符,匹配换行符以外的所有字符。5)findall()方法 查找所有的匹配项。括号分组:(***)(***)分出多组。花括号匹配特定次数:(xx){3,5}search() ,查找到第一条匹配项。4)贪心或非贪心匹配 {xxx}?前缀加‘^’,表示从开始处匹配。星号匹配零次或多次:(xx)*加号匹配一次或多次:(xx)+方括号:内部列举要匹配的字符。前缀加‘^’,表示不匹配字符。

2024-05-04 09:39:29 497 1

原创 Python新手学习(五):字符串操作

rjust(),ljust(),center() 填充字符串前、后缀形在固定场宽。startswith(),endswith() 开始于 ,结束于。strip(),lstrip(),rstrip() 删除空白字符。转义字符:如果内容既有单引号又有双引号,则用转义符,即“\”双引号:如果字符串中有单引号,则用双引号括住。转义包括 \’ \” \t \n \\。测试程序:test_605.py。测试程序:test_601.py。测试程序 test_602.py。4)ord()和chr() 字符的数值。

2024-05-03 10:17:33 210 1

原创 Python新手学习(四):字典和结构化数据

字典和列表的区分,字典项不排序,没有序号下标的概念。因为输入时顺序不同但键值对相同的字典结构是相等的。字典实际就是“键值对组合”,{‘kkk’:’vvv’,‘kkk1’:’vvv1’},类似于Map。setdefault()方法,设置缺省值。如果不存在该键,则设置缺省值,存在则不设置。keys()、values()和item()方法,可以检查键和值是否存在。测试程序 test_502.py 用于对文章中出现的字母计数。get()方法,取对应键的值,并且在不存在时可以设置备用值。字典不排序,也不能进行切片。

2024-05-02 17:18:20 254 3

原创 Python新手学习(三):列表

可变和不可变数据类型:即序列中的单元值是否可更改,列表是可变的,字符串是不可变的,不能更改。列表是值的集合,类似于数组,但列表包含的值可以是任何类型的组合,而数组只能是一种类型。多重列表 list =[[0,2,3],[‘xxx’,’ppp’,’ccc’]]标识和id()函数:每一个变量都是引用,都指向值的标识,id()显示标识。remove():在列表中删除值,有重复值只删除第一个。用list()和tuple()来实现列表和元组的类型转换。类的附属处理称为方法。index() :在列表中查找值的位置。

2024-05-02 17:10:33 418 1

原创 Python新手学习(二):函数

局部变量不能在全局作用域中使用,也不能在其它局部作用域中使用。在函数内要使用全局变量,要用global语句进行申明。函数内定义的在局部作用域,称为局部变量。测试程序 test_302.py。测试程序 test_307.py。测试程序 test_303.py。全局变量可以在局部作用域中使用。测试程序 test_305.py。测试程序 test_306.py。测试程序 test_308.py。测试程序 test_309.py。测试程序 test_301.py。测试程序test_304.py。

2024-05-01 18:41:51 165 1

原创 Python新手学习(一):基础和控制流

Python很类似于shell脚本,不太区分变量类型,但复杂数据结构上考虑的不错,列表、元组、字典,基本上可以涵盖各种数据组织模型。while语句 关键字 条件 冒号 缩进的代码块。1)数学操作符 ** % // / * - +elif语句 关键字 条件 冒号 缩进的代码块。If语句 关键字 条件 冒号 缩进的代码块。else语句 关键字 冒号 缩进的代码块。测试程序 :test_201.py。测试程序:test_202.py。测试程序 test_203.py。5)控制流的元素 条件语句和代码块。

2024-05-01 16:29:58 250

原创 Python的环境准备

在VSCode中调试Python代码需安装Python解释器和VSCode,安装Python扩展,配置调试环境并创建launch.json文件,设置断点,启动调试。python使用了虚拟环境这个概念,你可以认为是python环境的多个副本,只是在不同的副本中安装了不同的包。点击提示中的 “Create a launch.json file” 按钮,然后选择 “Python” 环境。”),然后选择 “Python”。1、安装python扩展 由微软提供的python和python debugger。

2024-05-01 16:12:48 85

原创 MySQL学习笔记

参考:https://blog.csdn.net/weixin_56050344/article/details/136070721。3)mysql -u root -p ###进入时不用输入口令,也不能进行权限命令如alter user。编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,mysqld --install mysql ##安装mysql服务。4)编辑/etc/mysql/my.cnf 将忽略权限行注释掉。1)编辑/etc/mysql/my.cnf。

2024-04-27 10:11:45 610 2

空空如也

空空如也

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

TA关注的人

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