高校网站建设汇报网页的建设
2026/4/17 7:02:09 网站建设 项目流程
高校网站建设汇报,网页的建设,电商网络营销,数据图表展示网站更多Dash应用开发干货知识、案例#xff0c;欢迎关注“玩转Dash”微信公众号#x1f447;1 简介 大家好我是费老师。Dash作为基于Python进行全栈应用开发的流行框架#xff0c;具有强大的可伸缩性——这意味着在同一套基于组件回调函数的代码组织方式下#xff0c;使用Das…更多Dash应用开发干货知识、案例欢迎关注“玩转Dash”微信公众号1 简介大家好我是费老师。Dash作为基于Python进行全栈应用开发的流行框架具有强大的可伸缩性——这意味着在同一套基于组件回调函数的代码组织方式下使用Dash可以轻松覆盖从小型简单应用到大型复杂应用各种复杂程度的应用开发任务。这也是Dash在世界范围内被众多的大公司用于持续开发企业级数据应用的原因之一。而随着所开发的Dash应用功能日益增长我们则需要学习如何在应用开发过程中更高效准确的调试应用功能逻辑定位异常问题所在。今天的文章中我们就来一起学习新版本Dash3.4.0版本中增加的一些功能特性帮助我们更精准快速的定位常见回调函数开发问题。2 在回调图中用hidden和hide_all_callbacks参数聚焦回调函数虽然我之前在公众号、玩转Dash知识星球等平台发布的文章和课程中并没有专门做过介绍但很多同学应该对类似下面的界面有印象我们在Dash应用开发阶段为app.run()设置debugTrue开启开发调试模式后通过点击右下角开发模式工具条中的Callbacks按钮可以展开一套可交互的有向图我们可以将其称作回调图。默认情况下它记录并呈现当前Dash应用中全部的回调函数编排关系这对于小型的Dash应用很直观明了因为图中的节点和边比较少。但是对于页面众多、功能逻辑众多的中大型Dash应用来说当你打开回调图时看到的可能是下面这样庞大复杂的景象这种情况下我们大概率会当做什么都没看见默默的关闭回调图面板。。。那么有没有办法在这个回调图中默认不展示全部的回调关系只针对目前关注的部分回调函数进行展示呢有的兄弟有的首先我们直接将Dash升级到3.4.0版本/* by yours.tools - online tools website : yours.tools/zh/txtcount.html */ pip install dash -U以实现“拼接两个输入框内容”的简单应用功能为例/* by yours.tools - online tools website : yours.tools/zh/txtcount.html */ import dash from dash import html import feffery_antd_components as fac from dash.dependencies import Input, Output from feffery_dash_utils.style_utils import style app dash.Dash(__name__, suppress_callback_exceptionsTrue) app.layout html.Div( [ fac.AntdSpace( [ fac.AntdInput(idinput1, placeholder请输入内容), fac.AntdInput(idinput2, placeholder请输入内容), fac.AntdText(idoutput-texxt), ] ) ], stylestyle(padding50), ) app.callback( Output(output-text, children), Input(input1, value), Input(input2, value), ) def combine_inputs(input1, input2): 拼接输入的内容 return 拼接结果 (input1 or ) (input2 or ) if __name__ __main__: app.run(debugTrue)在上面的示例代码中我们“不小心”地把用于显示拼接内容结果的组件id参数写成了output-texxt这也是比较常见的导致回调函数不生效的原因之一这种情况下当我们在浏览器中发现相关功能没有如期运作时就可以优先考虑通过回调图查看对应回调函数的执行情况可以看到虽然我们在相关输入框里输入了一些内容但对应的回调函数一次都没执行count 0这种情况下我们首先就可以想到是不是对应回调函数中有Output角色的id与对应组件定义的id参数不一样经过修正功能正确运作的情况下在回调图结果中就可以看到该回调函数执行了多少次、执行耗时等有用的信息此时我们再联想到上文中展示过的对应中大型Dash应用的非常庞杂的回调图假如上面这个回调函数debug的场景出现在类似规模的应用中我们就可以基于Dash3.4.0版本首先在app.run()中设置hide_all_callbacksTrue这将在回调图中强制隐藏所有的回调函数然后再为对应的回调函数callback()中设置hiddenFalse这将以更高的优先级在回调图中强制展示当前回调函数关系这样无论是再复杂的Dash应用我们都可以在回调图中只聚焦于我们关注的那些回调函数大幅度提升应用功能调试效率大家可以在日常开发Dash应用的过程中多多利用今天介绍的技巧开发出更稳健的应用~更多有关Dash应用开发的干货内容欢迎持续关注我们❤️

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询