[置顶] 在Python后端项目FastApi中使用MongoDB进行数据处理

摘要: 我在前面随笔《在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持》中介绍了对于EAV数据存储的时候,我们把变化字段的数据记录存储在MongoDB数据库里面,这样除了支持动态化字段变化外,也更好的支持对字段不同类型的查询处理,之前随笔介绍的是基于C#操作MongoDB数据库的处理,由于Python后端FastApi项目的设计初衷是可以平滑更换 SqlSugar项目的Web API的,因此会涉及到在Python项目中对MongoDB的相关操作。本篇随笔先对Python环境中操作MongoDB数据库进行相关的介绍。 阅读全文

posted @ 2025-04-24 11:22 伍华聪 阅读(683) 评论(2) 推荐(1)

[置顶] 在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持

摘要: 我在前面随笔中介绍了在SqlSugar的开发框架中实现EAV模型(实体-属性-值)的处理,这个EAV模型实现的目的是支持弹性化的数据库设计,可以自由扩展数据库表字段和数据的查询和存储,实现的思路是在常规关系数据库中存储实体-属性-值的信息,而在非关系型数据库MongoDB数据库中存储自由字段的数据表集合,之前我们实现了在Winform界面端中对本地数据库和MongoDB数据库的处理操作,本篇随笔基于SqlSugar的开发框架的Web API实现过程,介绍对低代码EAV模型(实体-属性-值)的WebAPI实现支持。 阅读全文

posted @ 2025-04-23 12:43 伍华聪 阅读(908) 评论(0) 推荐(4)

[置顶] 在Winform开发框架支持多种数据库基础上,增加对国产数据库人大金仓的支持

摘要: 一个良好的产品,可能往往需要支持多种数据库的接入,根据实际业务的需要进行调整,有时候可能需要2到3种数据库的支持。 在很多应用系统里面,虽然一般采用一种数据库运行,但是由于各种情况的需要,可能业务系统会部署在不同类型的数据库上,如果开发的系统能够很方便支持多种数据库的切换,那可以为我们减少很多烦恼,同时提高系统的适应性和强壮型。还有一种情况,由于业务数据库的不断膨胀或者方便数据库的切割隔离,有时候也会把不同的业务数据库进行分拆,如权限提供数据库,客户关系管理数据库,工作流程数据库,企业营运数据库等等,因此在一个系统里面,同时使用2个或者以上的数据库的情况也是有的。 Winform开发框架默认已经内置支持多种数据库,包括SqlServer、Mysql、Oracle、Sqlite、Access、PostgreSQL、达梦数据库都可以支持,其中达梦数据库是国产数据库中的一员,由于最近一个客户需要支持国产数据库人大金仓,本篇介绍如何整合支持这个国产数据库。 阅读全文

posted @ 2025-04-10 16:16 伍华聪 阅读(824) 评论(1) 推荐(3)

[置顶] 开发的设计和重构,为开发效率服务

摘要: 软件开发有点类似于艺术品的雕刻,需要不断的打磨。在我们基于一套成熟的架构开发一套软件后,往往都还是需要反复的推敲,进行不断的重构优化,使得重复的代码、硬编码等地方越来越少,也使得某些逻辑越来越有弹性化。软件开发和艺术品又有所不同,艺术品可能很容易完工并封刀,而软件开发却是持续的改进,软件最终的持续改进会变为产品化的归宿,而软件本身可以从很多维度进行不断的优化和重构。 阅读全文

posted @ 2025-03-25 15:51 伍华聪 阅读(1719) 评论(7) 推荐(14)

[置顶] 使用PySide6/PyQt6实现Python跨平台通用列表页面的基类设计

摘要: 我在随笔《使用PySide6/PyQt6实现Python跨平台GUI框架的开发》中介绍过PySide6/PyQt6 框架架构的整体设计,本篇随笔继续深入探讨框架的设计开发工作,主要针对通用列表页面的基类设计进行介绍,分析基类的各个模块的功能,以及介绍如何抽象一些公用的逻辑,实现对子类页面的简化处理。 对于不同的页面,我们可以公用同一个列表界面的基类,可以简化子类的很多操作,并能够统一整体的界面效果,提供更多通用的功能入口,是一种比较好的设计模式。 阅读全文

posted @ 2025-03-12 12:47 伍华聪 阅读(579) 评论(2) 推荐(4)

[置顶] 使用PySide6/PyQt6实现Python跨平台表格数据分页打印预览处理

摘要: 我曾经在前面使用WxPython开发跨平台应用程序的时候,写了一篇《WxPython跨平台开发框架之列表数据的通用打印处理》,介绍在WxPython下实现表格数据分页打印处理的过程,在Windows下和MacOS测试效果表现一致。然后在WxPython跨平台的基础上,我利用类似WxPhon的程序框架,使用PySide6/PyQt6实现了另一套跨平台的程序开发,功能上更是比WxPython的实现更加细致和完善了,本篇随笔介绍使用PySide6/PyQt6实现Python跨平台表格数据分页打印预览处理。 阅读全文

posted @ 2025-03-11 22:22 伍华聪 阅读(510) 评论(2) 推荐(3)

[置顶] 使用PySide6/PyQt6实现Python跨平台GUI框架的开发

摘要: 在前面的《Python开发》中主要介绍了FastAPI的后端Python开发,以及基于WxPython的跨平台GUI的开发过程,由于PySide6/PyQt6 在GUI的用途上也有很大的优势,因此把原先完成的WxPython 开发框架改造成使用PySide6/PyQt6实现Python跨平台GUI框架的开发过程,本篇随笔介绍它们之间项目联系和不同,主要针对PySide6/PyQt6 的特性进行不同的分解介绍。 阅读全文

posted @ 2025-02-26 15:29 伍华聪 阅读(1253) 评论(4) 推荐(4)

[置顶] 一问一答学习PyQT6,对比WxPython和PyQt6的差异

摘要: 在我的基于WxPython的跨平台框架完成后,对WxPython的灵活性以及强大功能有了很深的了解,在跨平台的桌面应用上我突然对PyQt6的开发也感兴趣,于是准备了开发环境学习PyQt 6,并对比下WxPython的差异来进行深入的了解,发现它们很多理念和做法是如此的类似。 阅读全文

posted @ 2025-01-09 23:00 伍华聪 阅读(735) 评论(1) 推荐(3)

[置顶] WxPython跨平台开发框架之使用PyInstaller 进行打包处理

摘要: 使用PyInstaller 打包Python项目是一个常见的需求,它可以将Python程序及其所有依赖项打包成一个独立的可执行文件或者安装文件,方便在没有安装Python环境的机器上运行。本随笔介绍WxPython跨平台开发框架中使用PyInstaller 进行打包处理,包括在WIndow平台下生成独立的exe文件,松散结构的exe文件和目录,以及在MacOS上生成安装包的处理过程。 阅读全文

posted @ 2025-01-07 17:31 伍华聪 阅读(940) 评论(0) 推荐(3)

[置顶] WxPython跨平台开发框架之模块字段权限的管理

摘要: 在我的很多Winform开发项目中,统一采用了权限管理模块来进行各种权限的控制,包括常规的功能权限(工具栏、按钮、菜单权限),另外还可以进行字段级别的字段权限控制,字段权限是我们在一些对权限要求比较严格的系统里面涉及到的,可以对部分用户隐藏一些敏感的信息,或者禁止不够权限的用户编辑它。本篇随笔介绍基于这一理念,实现在WxPython跨平台开发框架中的模块字段权限的管理。 阅读全文

posted @ 2025-01-03 16:11 伍华聪 阅读(316) 评论(0) 推荐(1)

[置顶] WxPython跨平台开发框架之动态菜单的管理和功能权限的控制

摘要: 在一个业务管理系统中,如果我们需要实现权限控制功能,我们需要定义好对应的权限功能点,然后在前端界面中对界面元素的可用性和功能点进行绑定,这样就可以在后台动态分配权限进行动态控制了,一般来说,权限功能点是针对角色进行控制的,也就是简称RBAC(Role Based Access Control)。对于登录系统后的用户,对用户的菜单(工具栏)、界面操作按钮的权限进行动态化的绑定和统一处理的操作过程,这样对于我们界面,只需要约定一些规则即可实现比较弹性化的操作,非常方便。本篇随笔介绍WxPython跨平台开发框架之动态菜单的管理和功能权限的控制。 阅读全文

posted @ 2025-01-02 11:08 伍华聪 阅读(505) 评论(3) 推荐(4)

[置顶] WxPython跨平台开发框架之前后端结合实现附件信息的上传及管理

摘要: 在使用 wxPython 开发跨平台应用时,结合后端实现附件信息的上传和管理是一种常见需求。WxPython跨平台开发框架是前后端分离的框架,前端采用的是WxPython + aiohttp 来构建跨平台的界面展示和处理,后端使用 FastAPI, SQLAlchemy, Pydantic, Redis 等技术构建的项目。后端数据库访问采用异步方式;数据库操作和控制器操作,采用基类继承的方式减少重复代码,提高代码复用性。支持Mysql、Mssql、Postgresql、Sqlite等多种数据库接入,通过配置可以指定数据库连接方式。 本篇随笔介绍WxPython跨平台开发框架之前后端结合实现附件信息的上传及管理,介绍附件管理中的前端展示、上传等操作,后端的接收附件以及存储文件和数据库信息等相关操作。 阅读全文

posted @ 2024-12-31 21:34 伍华聪 阅读(362) 评论(2) 推荐(2)

[置顶] WxPython跨平台开发框架之图标选择界面

摘要: 在使用 wxPython 开发跨平台桌面应用程序时,创建一个图标选择界面通常用于让用户从图标资源库中选择图标,我们可以把图标分为自定义的图标资源和系统的图标资源两大类,最终我们把它们整合一起使用,在框架的界面中使用,包括工具栏、右键菜单、按钮、图片等所需的地方显示,实现图文并茂的友好界面展示。本篇随笔介绍这两种图标资源的管理和使用过程。 阅读全文

posted @ 2024-12-31 12:23 伍华聪 阅读(473) 评论(2) 推荐(1)

[置顶] WxPython跨平台开发框架之列表数据的通用打印处理

摘要: 在WxPython跨平台开发框架中,我们大多数情况下,数据记录通过wx.Grid的数据表格进行展示,其中表格的数据记录的显示和相关处理,通过在基类窗体 BaseListFrame 进行统一的处理,因此对于常规的数据记录打印,我们也可以在其中集成相关的打印处理,本篇随笔介绍如何利用WxPython内置的打印数据组件实现列表数据的自定义打印处理,以及对记录进行分页等常规操作。 阅读全文

posted @ 2024-12-28 16:50 伍华聪 阅读(473) 评论(0) 推荐(4)

[置顶] WxPython跨平台开发框架之复杂界面内容的分拆和重组处理

摘要: 复杂界面内容的分拆和重组处理是现代软件开发中常见的做法,尤其在开发大型应用程序时,可以大幅提升开发效率、可维护性和用户体验。通过将复杂的界面内容分拆成更小的模块,每个模块都专注于单一功能或组件,代码更容易理解和维护。模块化的界面组件可以在多个地方复用,减少了重复开发的工作。通过将复杂的界面分拆为多个小模块,开发者可以更专注于每个模块的细节,优化每个部分的用户体验。本篇随笔介绍一下基于WxPython跨平台开发框架的一些界面内容的的分拆和重组处理实现。 阅读全文

posted @ 2024-12-27 18:35 伍华聪 阅读(435) 评论(0) 推荐(2)

[置顶] WxPython跨平台开发框架之参数配置管理界面的设计和实现

摘要: 我曾经在2014年在随笔《Winform开发框架之参数配置管理功能实现-基于SettingsProvider.net的构建》介绍过基于.NET开发的参数配置管理界面,本篇随笔基于类似的效果,介绍在WxPython跨平台开发框架上使用LabelBook 控件实现配置管理界面的效果。 阅读全文

posted @ 2024-12-10 11:11 伍华聪 阅读(556) 评论(0) 推荐(2)

[置顶] WxPython跨平台开发框架之表格数据导出到Excel并打开

摘要: 在 Python 中使用 wxPython 导出实体类列表数据到 Excel,通常可以借助 openpyxl 或 pandas 库来实现。本篇随笔由浅入深,逐步介绍导出Excel文件的操作,然后结合跨平台项目的实现,根据抽象继承的方式,对不同业务模块的通用导出Excel文件功能,以及跨平台的打开处理方式的实现进行介绍。 阅读全文

posted @ 2024-12-09 22:05 伍华聪 阅读(467) 评论(0) 推荐(3)

[置顶] WxPython跨平台开发框架之用户选择和标签组件的设计

摘要: 在系统的权限管理中,往往都会涉及到用户的选择处理,特别是基于角色的访问控制中,很多情况下需要用到选择用户的处理。本篇随笔,基于WxPython跨平台开发框架,采用原有开发框架成熟的一套权限系统理念,对机构、用户、角色、权限、菜单、日志、字典等内容进行管理的,因此也涉及到了用户选择的处理,在WxPython开发中,为了方便,我们往往会构建一些自定义控件,以便重用处理,本篇设计了标签组件来简化一些处理操作,同时可以在很多地方进行重用。 阅读全文

posted @ 2024-12-07 18:06 伍华聪 阅读(407) 评论(0) 推荐(2)

[置顶] 在自家的代码生成工具中,增加对跨平台WxPython项目的前端代码生成,简直方便的不得了

摘要: 在经过长时间对WxPython的深入研究,并对其构建项目有深入的了解,以及完成对基础框架的完整改写后,终于在代码生成工具完全整合了基于 Python 跨平台方案项目的代码快速生成了,包括基于FastApi 的后端Web API项目,以及前端的WxPython前端界面项目。本篇随笔主要介绍跨平台WxPython项目的前端代码生成内容。 阅读全文

posted @ 2024-12-03 12:23 伍华聪 阅读(988) 评论(3) 推荐(1)

[置顶] 分享一个纯Python开发的系统程序,基于VSCode + WxPython开发的跨平台应用系统

摘要: 本项目是基于 wxPython 开发的 GUI 应用,主要用于管理基础框架内容,包括用户、角色、机构、权限、日志、菜单、字典、附件、通用编码规则、配置管理等基础框架内容。 愿景是构建一个基于Python后端Web API或者本地多种数据库操作的通用应用系统,为各类企业提供一站式的管理系统解决方案。 阅读全文

posted @ 2024-12-02 22:37 伍华聪 阅读(1389) 评论(2) 推荐(6)

导航