台州企业建站程序网站添加在线留言

张小明 2026/1/3 5:28:00
台州企业建站程序,网站添加在线留言,wordpress显示空白页,微信开发者工具文档Plotly Dash — 一个适用于多页面仪表盘的结构化框架 多页面仪表盘的精确输出#xff08;暗色模式#xff09;显示了项目结构的特性 – 图片由作者提供 – 数据来自 GAPMINDER.ORG#xff0c;CC-BY 许可证 Plotly Dash 是一个广受认可和使用的框架#xff0c;可用于创建交…Plotly Dash — 一个适用于多页面仪表盘的结构化框架多页面仪表盘的精确输出暗色模式显示了项目结构的特性 – 图片由作者提供 – 数据来自 GAPMINDER.ORGCC-BY 许可证Plotly Dash 是一个广受认可和使用的框架可用于创建交互式仪表盘便于以易于消化且美观的格式呈现各种数据和信息。通常关于如何创建 Dash 应用的示例和指南都将所有代码放在一个 Python 文件中。虽然这是一种简洁的入门方式但即使是简单的仪表盘当所有代码都在单个文件中时管理起来也会变得异常困难。本文介绍了一个合理且功能齐全的多文件项目结构包含了开始所需的所有要素。即使项目规模相当庞大管理和扩展项目也会变得容易得多。引言许多在线 Dash 仪表盘示例都是以单个文件呈现的虽然这对于小型简单仪表盘没问题但随着项目规模增大并可能扩展为多个页面管理就变得不可能了。因此有必要开始拆分单个文件创建逻辑清晰的项目结构以使项目管理更容易。然而关于如何构建结构化多页面应用特别是针对 Dash 的指导非常少。似乎也没有标准的“官方”方式来构建 Dash 应用。此外任何多页面应用的示例往往只提供一个极简的骨架结构通常不包括任何图表示例即它们不是功能齐全的。这给实际运行应用并使其与要呈现的数据可靠地协同工作留下了一些猜测空间。本文提供了一个功能齐全的基础框架用户可以立即运行并进行实验。它也为开始开发项目提供了一个有用的参考点。免责声明我与 Plotly 没有任何关联。此外本文共享的 GitHub 代码库以及文中的所有功能和示例都可以使用无需任何付费功能或付费订阅。目标考虑到上述情况本文主要关注与创建 Dash 仪表盘相关的四个要点多页面逻辑化的项目结构即不在单个文件中采用多文件夹结构功能齐全包括数据API和图表Plotly支持 Git详细功能多页面仪表盘的精确输出暗色模式显示了项目结构的特性 – 图片由作者提供 – 数据来自 GAPMINDER.ORGCC-BY 许可证概述除了上一节详细说明的主要目标外还包括了以下功能以提供一个可用、美观且功能齐全的基础一个侧边栏列出可用页面并在页面切换时高亮显示当前活动页面带有网站名称、徽标和暗色/亮色主题切换开关的页眉移动端就绪的响应式布局带有可折叠侧边栏暗色/亮色主题切换包括 Plotly 图表的暗色/亮色主题两种不同的 API 集成一种是本地的Plotly Gapminder另一种是远程的并包含 API 密钥处理逻辑NinjasAPIGit 就绪包含将 API 密钥排除在代码之外的逻辑以及自动 DEBUG/生产模式切换使用 python-dotenv使用 style.css 进行自定义样式设置的简单示例利用 DASH Mantine Components 进行整体样式设置提供一致的主题以下小节将更详细地解释框架中包含的一些功能。如果你在寻找代码请跳到文章末尾在那里你会找到 GitHub 仓库的链接以及如何开始的详细信息。使用 DASH Mantine Components 进行样式设置多页面仪表盘的精确输出亮色模式显示了项目结构的特性 – 图片由作者提供 – 数据来自 GAPMINDER.ORGCC-BY 许可证可以在没有前端框架帮助的情况下对 Dash 仪表盘进行样式设置。然而一般来说我认为优先级应该是快速有效地呈现数据因此没有必要把事情弄得比需要的更困难。因此本文介绍的框架利用 Dash Mantine 组件进行样式设置这是一个专为 Dash 仪表盘使用而设计的、广泛使用且现代化的样式 API以比以往更快的速度构建功能丰富、易于访问的 Dash 应用Dash Mantine Components 包含超过 100 个可自定义的组件基于 React Mantine 库具有一致的样式、主题支持并完全支持亮色和暗色模式。– dash-mantine-components.com特别是为该项目结构选择的布局建立在以下官方布局示例之上AppShell with Theme Switch Component – GitHub虽然官方布局的整体外观与本文使用的布局非常相似正如你所期望的……但官方布局没有构建任何功能并且所有代码都在一个 Python 文件中。暗色/亮色图表切换上一节详细介绍的基础主题已经包含了在亮色和暗色主题之间切换的代码。然而一旦添加了非特定“Mantine”组件的组件例如 plotly 图表那么如果没有特定的集成主题切换将无法对这些“其他”组件生效。本文包含的框架包含了示例 plotly 图表以及关联的代码来在暗色和亮色主题之间切换图表。暗色/亮色切换的实现不需要重新加载图表中显示的数据因此在切换时不会使任何数据 API 过载。多页面框架中包含的较复杂项目之一是它包含多个页面。该实现使用最新的 Dash Pages 方法来实现这一点这是在 Dash 2.5 中引入的。虽然 Dash Pages 的实现相对简单但当项目被构建成多个文件和文件夹时它就变得更加复杂因为可用的示例非常少。希望这个框架能提供一个工作示例的参考。Git 和开发就绪来自 Unsplash 的 Yancy Min 的照片由于这个框架旨在作为你自己项目的起点因此假设会有一些开发工作并且持续开发可能需要使用 Git。以下小节详细介绍了此框架中一些有助于使此过程更轻松的功能。环境变量该框架利用 python-dotenv 来处理环境变量有关实现细节请参阅本文后面的“基本用法”部分。这本质上意味着某些变量可以保持在项目本地但不出现在主代码库中。例如在生产环境和开发环境之间变化的变量不应出现在公共仓库例如 GitHub中的变量这允许将 API 密钥保密并通过 GitHub 无缝推送到生产环境如果你希望这样做。Git Ignore包含了一个 .gitignore 文件主要是为了防止虚拟环境以及重要的 .env 文件意外推送到 GitHub。它还包含一些可能有所帮助的通用 Python 排除项。生产服务器就绪为了帮助将 Dash 应用部署到生产环境包含了一个 wsgi.py 文件这在将项目上线时应该会很有用。上一节提到的 .env 文件也可用于在生产环境和开发环境之间无缝激活或停用DEBUG 模式。有关实现细节请参阅本文后面的“基本用法”部分API 集成来自 Pixabay 的 zeeve platform 的图片代码库中集成了两个数据 API。Gapminder默认第一个是 Gapminder API它作为库包含在 Plotly 中。这使得 API 在本地可用且快速非常适合快速开发和测试。API Ninjas还包含代码作为如何集成外部 API 的示例。在这种情况下包含的外部 API 是 API Ninjas。如果你需要更真实的远程 API 测试即考虑/测试连接不良或丢失或 API 错误这应该基本上允许这样做。API Ninjas 是一个商业 API因此在超过某些使用级别后会产生订阅费用。然而他们的免费层级是我发现的最慷慨的之一非常适合开发测试。要使用 API Ninjas API你需要获取自己的 API 密钥可以从他们的网站获取免费的有限使用 API 密钥。然后需要将 API 密钥包含在 .env 文件中。最后将 utils/consts.py 中的 EXTERNAL_API 标志设置为 True。免责声明我与 API Ninjas 没有任何关联请随意使用你选择的外部 API或完全不使用CSS 样式设置可以在项目中的 CSS 文件中包含特定的样式设置。该文件位于 assets/styles.css包含以下代码.main-title{color:var(--mantine-color-gray-6);}[data-mantine-color-schemedark] .main-title{color:var(--mantine-color-gray-3);}此示例只是将主标题颜色更改为灰色但也考虑了在暗色和亮色主题之间切换时的颜色变化。如果你熟悉 CSS如果需要可以从此文件进行广泛的样式更改。有关如何处理 CSS 或 Javascript 等外部资源的更多详细信息请参阅 Dash 文档。重要编码注意事项框架应用的第二个页面 – 图片由作者提供Dash 在允许构建仪表盘/应用的方法上非常灵活这使得事情简单易用。然而在构建这个框架的过程中很明显当事情变得更加复杂时需要遵循一些不成文的规则必须使用函数生成应用元素而不是将其赋值给变量。特别是在处理具有文件和文件夹结构的多页面 Dash 应用时必须使用函数生成应用元素而不是将其赋值给变量。例如以本项目结构中使用的存档页面定义为例。这是使用函数定义的存档页面importdashfromdashimporthtml dash.register_page(__name__)deflayout(**kwargs)-html.Div:returnhtml.Div([html.H1(This is our Archive page),html.Div(This is our Archive page content.),])……这是使用变量定义的相同页面importdashfromdashimporthtml dash.register_page(__name__)layouthtml.Div([html.H1(This is our Archive page),html.Div(This is our Archive page content.),])理论上它们都是有效的并且都应该可以工作正如官方文档所示。通常赋值给变量有时会起作用。然而在某些情况下在单独的文件/文件夹之间传递变量会失败。而使用函数则总是有效。不幸的是我记不起一个例子但我亲身经历过这种情况这就是为什么如果代码中的元素需要在文件/文件夹之间传递本框架严格遵守使用函数的原因。无论如何使用函数可以说是一种更透明和可追溯的编码方式从长远来看更有意义。变量类型你可能会注意到所有函数都包含了变量类型。由于代码库是用 Python 编写的这并非严格必要。希望这能帮助人们在阅读代码库并试图理解不同部分如何组合在一起时提高透明度。如果你觉得它令人困惑或没有帮助那么可以随时将其删除而不会产生任何不良影响。例如将defget_graph(index:str)-dmc.Skeleton:改为defget_graph(index):是完全没问题的。代码仓库你可以在本文讨论的 DASH 项目结构的 GitHub 页面上访问它 – 图片由作者提供一个完整的工作示例 Dash 应用使用本文介绍的结构可在此处我的 GitHub 仓库中找到Plotly Dash Mulit-Page App可以克隆该仓库并直接运行以了解其工作原理或将其用作你自己项目的起点。基本用法来自 Unsplash 的 Eder Pozo Pérez 的照片要运行仓库中的代码请执行以下步骤。创建虚拟环境并安装包创建你的虚拟环境并激活它。你可以选择你喜欢的方式。例如cdproject-folder python -m venv venvsourcevenv/bin/activate然后安装所需的包pipinstall--upgrade pip pipinstall-r requirements.txt创建“.env”文件项目使用 python-dotenv 通过本地文件存储敏感数据从而将 API 密钥等排除在项目代码之外。因此你不会在仓库中找到此文件。你需要创建自己的文件。在项目文件夹的根目录中创建一个名为.env的文件。作为文件中应包含内容的示例以下是可在本地开发环境中使用的内容DEBUGTrue NINJAS_API_KEYs0L889BwIkT2ThjHDROVGHfkluRlLyGgfUUPgh注意如果你想使用该特定 API你必须从 NinjasAPI 获取一个合法的 API 密钥但由于 Gapminder 本地 API 是默认的因此运行应用不需要这样做。除了包含一个有效的 API 密钥以使用 NinjasAPI 外你还必须在 utils/consts.py 中将 EXTERNAL_API 标志设置为 True。在实时/生产环境中你应该将 DEBUG 值更改为 False。使用这种方法的好处是能够使用 Git 在开发和生产环境之间更新代码而无需每次更改 .env 文件中的 DEBUG 值。这是因为 .env 文件不包含在 Git 仓库中因此专门针对创建它的机器/服务器。运行项目要运行项目只需在项目目录中执行以下行python main.py然后你将被告知可以在浏览器中打开的本地 IP 地址以访问项目前端。结论希望本文以及相关的 GitHub 仓库能提供一个良好的起点帮助你开始使用 Plotly Dash 创建自己的仪表盘或者仅仅是了解如何进入下一个阶段。如果你对代码有任何意见或改进建议请随时评论本文或在相关的 GitHub 仓库上提出问题 / 拉取请求。参考文献Plotly DASHDASH Mantine ComponentsGAPMINDER.ORG, CC-BY LICENSE更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手或者 我的个人博客 https://blog.qife122.com/对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

儿童网站开发 论文专业网络建站公司

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

张小明 2025/12/23 16:09:48 网站建设

免费的个人简历模板网站wordpress5.0更新内容

基于主从博弈的社区综合能源系统分布式协同优化运行策略基本复现 编程平台:Matlab-yalmip-cplex 摘要:随着能源市场由传统的垂直一体式结构向交互竞争型结构转变,社区综合能源系统的分布式特征愈发明显,传统的集中优化方法难以揭示…

张小明 2025/12/24 0:52:12 网站建设

马鞍山网站建设与制作江阴网站开发公司电话

30M带宽VPS能看1080p吗?结论实测分析(2025年) 核心结论:能,但分场景—— 单用户看在线1080p(如YouTube、Netflix):30M独享带宽完全够用,甚至有余;看本地存储的…

张小明 2025/12/24 4:51:53 网站建设

网站开发面试问题内容管理网站

RocketMQ 是阿里巴巴开源的分布式消息中间件,基于 Java 开发,具备高吞吐、低延迟、高可用、可扩展等特性,广泛应用于电商、金融、物流等领域的异步通信、流量削峰、数据同步等场景。本文从基础认知、环境搭建、核心概念、核心功能、高级特性、…

张小明 2025/12/24 7:43:12 网站建设

怎么快速优化网站旅游网站开发答辩ppt

基于Kotaemon的智能导游问答系统开发 在旅游场景中,游客常常面临信息碎片化、服务响应滞后的问题:想了解景区历史却找不到权威资料,询问开放时间得不到实时反馈,甚至因交通拥堵错过参观时机。传统的智能客服大多停留在关键词匹配或…

张小明 2025/12/22 13:07:58 网站建设

如何免费建购物网站盘锦做网站谁家好

Foundation 输入框尺寸详解(超级完整版,一次讲透) 我们继续你的 Foundation 系列,今天重点讲 输入框(Input)尺寸!Foundation 6 支持三种内置尺寸类,让输入框、选择框、文本域等表单元…

张小明 2025/12/24 16:49:24 网站建设