美文网首页
[Python技术]利用streamlit构建多页面应用功能

[Python技术]利用streamlit构建多页面应用功能

作者: 子晓聊技术 | 来源:发表于2024-11-03 08:49 被阅读0次
前阵子自己利用streamlit构建了不少股票简单例子,比如涨停分析,比如个股分析等。 昨天晚上,我临时有个想法, 每个例子太过孤立了。要不把这些例子结合在一个应用中。 先简单上图,大体的想法, 让AI帮我写的。 ![](https://img.haomeiwen.com/i5262647/31db360f83a2f54e.png) 为什么有这个想法呢, 主要是我之前一些代码逻辑已经有了,准备复用, 也可以让每个例子保持页面的独立性 和可扩展性。 对于streamlit用过的同学,这个其实很简单。这里就抛砖引玉下 简单代码如下: main.py 入口页 ``` import streamlit as st import home import zhangting import jingjia import gegu import junxian st.set_page_config(page_title="股票分析应用") PAGES = { "主页": home, "涨停分析": zhangting, "竞价分析": jingjia, "均线分析": junxian, "个股分析": gegu, } def main(): st.sidebar.title("股票分析导航") selection = st.sidebar.radio("跳转到", list(PAGES.keys())) page = PAGES[selection] page.app() if __name__ == "__main__": main() ``` home.py 主页 ``` import streamlit as st def app(): st.title("欢迎来到股票分析应用") st.write("使用左侧的导航菜单来浏览不同的页面。") ``` 这种结构的工作原理如下: 1. `main.py` 是应用的入口点。它导入所有页面模块并处理导航。 2. 每个页面都有自己的 Python 文件(`home.py`, `page1.py`, `page2.py`),包含一个 `app()` 函数来定义该页面的内容。 3. 在 `main.py` 中,我们创建了一个 `PAGES` 字典,将页面名称映射到相应的模块。 4. 使用 `st.sidebar.radio` 创建导航菜单,允许用户选择页面。 5. 根据用户的选择,调用相应页面模块的 `app()` 函数来显示内容。 要运行这个应用,您只需要执行 `main.py`: ``` streamlit run main.py ``` 这种方法的优点是: - 每个页面都有自己的文件,使得代码更加模块化和易于维护。 - 可以轻松地添加新页面或修改现有页面,而不会影响其他部分。 - 主文件 `main.py` 保持简洁,主要负责导航和页面切换逻辑。 如果您想添加新的页面,只需创建一个新的 Python 文件(例如 `page3.py`),定义 `app()` 函数,然后在 `main.py` 中导入它并将其添加到 `PAGES` 字典中。 本文由[mdnice](https://mdnice.com/?platform=6)多平台发布

相关文章

  • streamlit如何实现多页面

    0 引入 我们在streamlit搭建ML前端demo[https://www.jianshu.com/p/abd...

  • vue+express+mongoose构建web应用

    前言 本次分享主要是介绍如何利用Node、MongoDB等技术构建web应用,项目如何构建,新技术分享。目标是实现...

  • 构建多页面应用——模板

    因为大多数人都比较喜欢,或者说倾向于用js操作现有的html代码块,而不喜欢用js来生成html代码块,之后再来操...

  • 构建多页面应用——hash

    这里的hash主要从两个方面来说。一个是webpack生成的hash,另一个是页面链接中的hash,如:http:...

  • webpack4构建多页应用,了解一下

    用webpack构建多页应用可以有2种思路,多页面单配置 vs. 多页面多配置。本例子采用多页面单配置,即在单页应...

  • web系统方案探究

    当需要开发一个管理端系统,你会考虑什么技术选型了? 单页面or多页面 单页面应用,或者是多页面应用? 单页面渲染速...

  • Vue-router 懒加载 - 异步组件

    当在使用 vue-router 来构建一个 vue 单页面应用的时候,如果应用的路有页面非常多的时候,应用打包后 ...

  • webpack构建react多页面应用

    写这个的初衷是很难找一个简洁的项目脚手架,很多脚手架都有很多依赖,光看依赖就要很久,所以自己参照网上的内容,弄个这...

  • 用vue构建多页面应用

    最近一直在研究使用vue做出来一些东西,但都是SPA的单页面应用,但实际工作中,单页面并不一定符合业务需求,所以这...

  • 构建多页面应用——优化(二)

    最近,一直尝试使用webpack做多页面应用的开发。并且一个实际的项目为原型,实现对一个静态的企业站进行优化。原站...

网友评论

      本文标题:[Python技术]利用streamlit构建多页面应用功能

      本文链接:https://www.haomeiwen.com/subject/chagdjtx.html