免费模板网站都有什么区别口碑好的家装前十强

diannao/2026/1/18 5:05:43/文章来源:
免费模板网站都有什么区别,口碑好的家装前十强,青岛市住房和城乡建设局,建公司网站最近需要用python写一个菜单#xff0c;折腾了两三天才搞定#xff0c;现在记录在此#xff0c;需要的朋友可以借鉴一下。备注#xff1a;文章引用非可执行完整代码#xff0c;仅仅摘录了关键部分的代码环境数据库#xff1a;mysqlpython#xff1a;3.6表结构CREATE TAB…最近需要用python写一个菜单折腾了两三天才搞定现在记录在此需要的朋友可以借鉴一下。备注文章引用非可执行完整代码仅仅摘录了关键部分的代码环境数据库mysqlpython3.6表结构CREATE TABLE tb_menu (id varchar(32) NOT NULL COMMENT 唯一标识,menu_name varchar(40) DEFAULT NULL COMMENT 菜单名称,menu_url varchar(100) DEFAULT NULL COMMENT 菜单链接,type varchar(1) DEFAULT NULL COMMENT 类型,parent varchar(32) DEFAULT NULL COMMENT 父级目录id,del_flag varchar(1) NOT NULL DEFAULT 0 COMMENT 删除标志 0不删除 1已删除,create_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,PRIMARY KEY (id) USING BTREE) ENGINEInnoDB DEFAULT CHARSETutf8 COMMENT菜单表;Python代码Menu对象中有一个子菜单列表的引用“subMenus”类型为list核心代码def set_subMenus(id, menus):根据传递过来的父菜单id递归设置各层次父菜单的子菜单列表:param id: 父级id:param menus: 子菜单列表:return: 如果这个菜单没有子菜单返回None;如果有子菜单返回子菜单列表# 记录子菜单列表subMenus []# 遍历子菜单for m in menus:if m.parent id:subMenus.append(m)# 把子菜单的子菜单再循环一遍for sub in subMenus:menus2 queryByParent(sub.id)# 还有子菜单if len(menus):sub.subMenus set_subMenus(sub.id, menus2)# 子菜单列表不为空if len(subMenus):return subMenuselse: # 没有子菜单了return None测试方法def test_set_subMenus(self):# 一级菜单rootMenus queryByParent()for menu in rootMenus:subMenus queryByParent(menu.id)menu.subMenus set_subMenus(menu.id, subMenus)备注基本流程是先查询一级菜单然后分别把该级菜单的id、和这级菜单的子菜单列表传入set_subMenus方法递归进行子菜单列表的下级菜单设置支持传递菜单Id查询该菜单下面的所有子菜单。传递空字符则从根目录开始查询在“rootMenus ”对象中可以看到完整的菜单树形结构转Json我采用的ORM框架是sqlalchemy直接从数据库中查询出来的Menu对象转Json时会报错。需要重新定义一个DTO类来把Menu对象转成Dto对象。MenuDtoclass MenuDto():def __init__(self, id, menu_name, menu_url, type, parent, subMenus):super().__init__()self.id idself.menu_name menu_nameself.menu_url menu_urlself.type typeself.parent parentself.subMenus subMenusdef __str__(self):return %s(id%s,menu_name%s,menu_url%s,type%s,parent%s) % (self.__class__.__name__, self.id, self.menu_name, self.menu_url, self.type, self.parent)__repr __str__于是重新定义了递归设置子菜单的方法def set_subMenuDtos(id, menuDtos):根据传递过来的父菜单id递归设置各层次父菜单的子菜单列表:param id: 父级id:param menuDtos: 子菜单列表:return: 如果这个菜单没有子菜单返回None;如果有子菜单返回子菜单列表# 记录子菜单列表subMenuDtos []# 遍历子菜单for m in menuDtos:m.name to_pinyin(m.menu_name)if m.parent id:subMenuDtos.append(m)# 把子菜单的子菜单再循环一遍for sub in subMenuDtos:menus2 queryByParent(sub.id)menusDto2 model_list_2_dto_list(menus2,MenuDto(id, menu_name, menu_url, type, parent, subMenus))# 还有子菜单if len(menuDtos):if len(menusDto2):sub.subMenus set_subMenuDtos(sub.id, menusDto2)else: # 没有子菜单删除该节点sub.__delattr__(subMenus)# 子菜单列表不为空if len(subMenuDtos):return subMenuDtoselse: # 没有子菜单了return None备注当一个菜单没有子菜单时删除掉“subMenus”属性否则转Json时会出现空值model_list_2_dto_list 方法可以把Menu列表转成MenuDto列表to_pinyin 是把汉字转成拼音的方法在这里不用关注View层返回Json的方法def get(self):param request.argsid param[id]# 如果id为空查询的是从根目录开始的各级菜单rootMenus queryByParent(id)rootMenuDtos model_list_2_dto_list(rootMenus,MenuDto(id, menu_name, menu_url, type, parent, subMenus))# 设置各级子菜单for menu in rootMenuDtos:menu.name to_pinyin(menu.menu_name)subMenus queryByParent(menu.id)if len(subMenus):subMenuDtos model_list_2_dto_list(subMenus,MenuDto(id, menu_name, menu_url, type, parent, subMenus))menu.subMenus set_subMenuDtos(menu.id, subMenuDtos)else:menu.__delattr__(subMenus)menus_json json.dumps(rootMenuDtos, defaultlambda o: o.__dict__, sort_keysTrue, allow_nanfalse,skipkeystrue)# 需要转字典否则返回的字符串会带有“\”menus_dict json_dict(menus_json)return fullResponse(menus_dict)fullResponsefrom flask import jsonifydef fullResponse(data, msg, code0):if msg :return jsonify({code: code, data: data})elif data :return jsonify({code: code, msg: msg})else:return jsonify({code: code, msg: msg, data: data})备注python中json和字典的含义类似在最后json返回给页面时需要先使用json_dict方法转成dict类型否则返回的字符串中会带有“\”查询结果以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

誓做中国最大钓鱼网站网站设计所用的软件

我们有时候用chrome浏览器获取Network中XHR的数据,得到的是Json类型,有时也可能是python中的字典类型,如果获取的数据比较复杂,通过简单的处理我们是无法拿到我们需要的数据的,这时我们就需要对数据进行转换处理&#…

免费域名网站建设找做网站公司

如果 Kubernetes 部署在诸如 AWS、GCE、Azure 等公有云上,可以直接使用云硬盘作为 Volume,下面是 AWS Elastic Block Store 的例子: 要在 Pod 中使用 ESB volume,必须先在 AWS 中创建,然后通过 volume-id 引用。其他云…

环保行业网站开发注册360建筑网平台

阿里妹导读:阿里云已经成功地规模化落地云原生,26日的 KubeCon 大会上,CNCF TOC 和阿里云资深技术专家李响发表主题演讲,分享了阿里巴巴在规模扩展、可靠性、开发效率、迁移策略等方面的经验,并探讨云原生的落地及应对…

做网站应该会什么软件wordpress 拍卖主题

本文介绍微信支付中订单查询功能的实现。 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/wxpay-order-query.html 一、订单查询 因为某一方技术的原因,可能导致商户在预期时间内都收不到最终支付通知,此时商户可以通过该…

网站建设网站排名怎么做苏州建设网站公司在什么地方

一个人的职业选择和成长道路会受到很多因素的影响。贾尼尼,这位美国第三大银行——美洲银行的创始人,他的银行家之路却与父亲的死有关。 1878年的一天,贾尼尼8岁的时候,同村的一个葡萄农,因为还不起向贾尼尼父亲借的一…

网站首页流程图河南注册公司流程

emit 属性:用于创建自定义事件,接收子组件传递过来的数据。 注意:如果自定义事件的名称,和原生事件的名称一样,那么只会触发自定义事件。 setup 语法糖写法请见:《Vue3 子传父 组件传参 defineEmits》 语…

门户网站用什么程序做微信开发者平台登录

第1章 异常处理 1.1 什么是异常? 1.1.1 描述 #1 什么是异常? # 异常是错误发生的信号,一旦程序出错,就会产生一个异常,应用程序未处理该异常, # 异常便会抛出,程序随之终止 异常就是程序运行时发生错误的信…

做羞羞的事的视频网站手机端网站制作

文章目录一、需求文档说明二、脚本解释/说明三、脚本内容3.1. 案例脚本3.2. 案例脚本升级一、需求文档说明 序号要求说明①协议使用ftp协议远程下载②文件类型.zip③文件名ac_UPpp④远程下载目录用户根目录(不需要切换目录)⑤本服务器下载存放目录/blacklist/xmldata/Lists 二…

网站建设分期收费大型网站都怎么做推广

前言 简单记录一下在Docker学习过程中,关于网络模式和容器网络互连的基本概念。 一、Docker的网络模式 (1)桥接模式:Docker会为每个容器创建一个虚拟网卡,并将这些虚拟网卡连接到一个虚拟交换机上,从而实…

投资网站策划苏州网站小程序app开发公司

Linux renice命令介绍 renice命令在Linux中用于修改已经运行的进程的优先级。这个命令允许你改变一个已经运行的进程的调度优先级。如果我们给一个进程设置了更高的优先级,那么内核将为该进程分配更多的CPU时间。 Linux renice命令适用的Linux版本 renice命令在所…

可以做微信推文的网站自己可以建设环保公益网站吗

最近在用数字人简易方案,看到了sadtalker虽然效果差,但是可以作为一个快速方案,没有安装sd的版本,随便找了个一键安装包 设置如上 使用倒是非常简单,但是出现一个问题,就是输出的mp4都出马赛克了 界面上却…

asp.net做电商网站设计网站域名后缀的意思

高阶组件和高阶函数都是在函数式编程中常见的概念。 高阶组件(Higher-Order Component, HOC)是一种函数,接受一个组件作为参数,并返回一个新的组件。它可以用来增强现有的组件,给它添加额外的功能或属性。高阶组件在R…

网站seo置顶 乐云践新专家酒店网站开发

我为Maven创建了一个示例Groovy项目,该项目在一个项目中混合了Spock测试和JUnit 5测试。 在下一节中,我将描述如何设置这种Maven项目。 在项目中启用Groovy 首先,您必须在项目中启用Groovy。 一种可能性是将GMavenPlus插件添加到您的项目中。…

网站做会员系统济南旅游网站建设现状

std::function是一个模板类&#xff0c;基本可作为函数指针的代替品&#xff0c;具备更多功能&#xff0c;特别是与函数对象及bind配合使用。使用std::function时&#xff0c;需要添加头文件 #include <functional> 1.定义函数指针 18行&#xff0c;定义了一个函数指针类…

网站制作的常见问题义乌网络搭建公司

2016年开网吧买了400多根DDR4 8G内存条&#xff0c;一根180。2017年网吧赔了钱&#xff0c;我把电脑卖了&#xff0c;内存600一根&#xff0c;结果开网吧的钱赚回来了。囤内存挣回了开网吧的钱转眼间到2019年&#xff0c;内存就跌回了原来的价钱&#xff0c;200多块就又能买到D…

企业自适应网站建设机械生产erp软件

我们往往在谈论zabbix的优缺点的时候&#xff0c;提到最多的依然还是数据库(默认采用关系型数据库)&#xff0c;由于关系型数据库所有的读写都是采用sql语句解析&#xff0c;一但并发过大或者数据量过大&#xff0c;处理能力就显得捉襟见肘&#xff0c;这也是Zabbix让人诟病的地…

手机端网站外部链接如何去优化优秀毕业设计网站设计

在macOS系统中&#xff0c;使用Homebrew安装Python3并进行环境配置的步骤如下&#xff1a; 打开终端。 运行以下命令安装Python3&#xff1a; brew install python3 安装完成后&#xff0c;可以通过以下命令检查Python3的版本&#xff1a; python3 --version 为了确保终端…

沈阳有资质做网站的公司有哪些小说推文万能关键词

引言最近和论文格式的检测系统斗智斗勇&#xff0c;可以说是摸清了系统的脾气并且能够把错误数控制在0。其中&#xff0c;论文正文的表格和图片自动编号的问题还是挺有意思的&#xff0c;特此记录一下。需求对于表格&#xff0c;系统要求表格题注处于表格*上方*&#xff0c;并按…

南通企业模板建站企业培训课程

导言&#xff1a; 黑色数字罪犯的新玩具——.BlackBit勒索病毒&#xff0c;近来成为网络安全领域的头号威胁。这种恶意软件以其高度隐秘性和毁灭性而引起广泛关注。下面是关于.BlackBit勒索病毒的详细介绍&#xff0c;如不幸感染这个勒索病毒&#xff0c;您可添加我们的技术服…

用python做的网站新产品推广方案范文

文章目录前言一、启动恶意软件删除工具二、扫描类型的选择三、启动软件扫描四、恶意软件删除工具的说明五、对于恶意软件处理的建议总结前言 可能有些小伙伴发现&#xff0c;哎&#xff1f;为什么我的电脑弹窗广告这么多&#xff1f;难不成小视频看多了&#xff1f;电脑中毒了&…