Python应用开发——Streamlit 创建多页面应用程序进行APP的构建

devtools/2024/9/22 15:04:05/

创建多页面应用程序

在附加功能中,我们介绍了多页面应用程序,包括如何定义页面、构建和运行多页面应用程序,以及如何在用户界面的页面间导航。更多详情,请参阅多页面应用程序指南Multipage apps - Streamlit Docs

在本指南中,让我们通过将上一版本的 streamlit hello 应用程序转换为多页面应用程序,运用我们对多页面应用程序的理解!

开发动机

在 Streamlit 1.10.0 之前,streamlit hello 命令是一个大型单页面应用程序。由于不支持多页面,我们只能使用侧边栏中的 st.selectbox 来分割应用程序的内容,以选择运行哪些内容。内容包括绘图、映射和数据帧三个演示。

下面是代码和单页应用程序的外观:

import streamlit as stdef intro():import streamlit as stst.write("# Welcome to Streamlit! 👋")st.sidebar.success("Select a demo above.")st.markdown("""Streamlit is an open-source app framework built specifically forMachine Learning and Data Science projects.**👈 Select a demo from the dropdown on the left** to see some examplesof what Streamlit can do!### Want to learn more?- Check out [streamlit.io](https://streamlit.io)- Jump into our [documentation](https://docs.streamlit.io)- Ask a question in our [communityforums](https://discuss.streamlit.io)### See more complex demos- Use a neural net to [analyze the Udacity Self-driving Car ImageDataset](https://github.com/streamlit/demo-self-driving)- Explore a [New York City rideshare dataset](https://github.com/streamlit/demo-uber-nyc-pickups)""")def mapping_demo():import streamlit as stimport pandas as pdimport pydeck as pdkfrom urllib.error import URLErrorst.markdown(f"# {list(page_names_to_funcs.keys())[2]}")st.write("""This demo shows how to use
[`st.pydeck_chart`](https://docs.streamlit.io/develop/api-reference/charts/st.pydeck_chart)
to display geospatial data.
""")@st.cache_datadef from_data_file(filename):url = ("http://raw.githubusercontent.com/streamlit/""example-data/master/hello/v1/%s" % filename)return pd.read_json(url)try:ALL_LAYERS = {"Bike Rentals": pdk.Layer("HexagonLayer",data=from_data_file("bike_rental_stats.json"),get_position=["lon", "lat"],radius=200,elevation_scale=4,elevation_range=[0, 1000],extruded=True,),"Bart Stop Exits": pdk.Layer("ScatterplotLayer",data=from_data_file("bart_stop_stats.json"),get_position=["lon", "lat"],get_color=[200, 30, 0, 160],get_radius="[exits]",radius_scale=0.05,),"Bart Stop Names": pdk.Layer("TextLayer",data=from_data_file("bart_stop_stats.json"),get_position=["lon", "lat"],get_text="name",get_color=[0, 0, 0, 200],get_size=15,get_alignment_baseline="'bottom'",),"Outbound Flow": pdk.Layer("ArcLayer",data=from_data_file("bart_path_stats.json"),get_source_position=["lon", "lat"],get_target_position=["lon2", "lat2"],get_source_color=[200, 30, 0, 160],get_target_color=[200, 

http://www.ppmy.cn/devtools/45861.html

相关文章

HTML:认识HTML与基本语法的学习

前言 HTML(超文本标记语言)是用于创建网页的标记语言,由一系列标签组成,定义网页中的元素。由蒂姆伯纳斯 - 李于1990年代初发明,最初用于科研机构间共享文档,迅速演变为Web开发基础。无论是电商、博客、新…

Jenkins流水线pipeline--基于上一章的工作流程

1流水线部署 1.流水线文本名Jenkinsfile,将流水线放入gitlab远程仓库代码里面 2构建参数 2pipeline脚本 Jenkinsfile文件内容 pipeline {agent anyenvironment {key"value"}stages {stage("拉取git仓库代码") {steps {deleteDir()checkout scmGit(branc…

即时通讯平台及门户系统WorkPlus打造移动应用管理平台

在全球化和数字化时代,企业管理和沟通的方式正发生着巨大的变化。为了实现高效的协作和资源共享,企业越来越倾向于使用即时通讯及门户系统。这两种系统结合起来,可以提供一套完整的沟通和信息发布平台,促进内部协作和信息管理。 …

【全开源】Java共享台球室无人系统支持微信小程序+微信公众号+H5

智能引领台球新体验 一、引言:共享经济的新篇章 在共享经济的大潮中,各类共享服务层出不穷,为人们的生活带来了极大的便利。共享台球室作为其中的一员,以其独特的魅力吸引了众多台球爱好者的目光。而今天,我们要介绍…

【Qt】对话框

文章目录 1 :peach:对话框介绍:peach:2 :peach:对话框的分类:peach:2.1 :apple:模态对话框:apple:2.2 :apple:非模态对话框:apple:2.3 :apple:混合属性对话框:apple: 3 :peach:Qt 内置对话框:peach:3.1 :apple:消息对话框 QMessageBox:apple: 1 🍑对话框介绍&#x…

php获取今天凌晨零点的时间

不废话直接上代码 //使用strtotime $midnightToday strtotime("today midnight"); //输出:1716998400 //如果是明天 $midnightToday 86400 //后天 $midnightToday 86400*2//ORM中比对使用 $row ModelVisit::where(uid,$this->uid)->where(visi…

elementUI type=“selection“多选框选中 删除 回显 赋值问题 回显数组改变选中状态未改变

业务需求&#xff1a; 点击查询弹列表框 勾选列表选项保存 可删除可重新查询列表添加 遇到的问题&#xff1a;删除之后查询列表selection回显问题 解决&#xff1a;row-click配合:reserve-selection"true"使用 <el-tableref"refPlanTable":data"…

【CMake】CMake入门(五)打包安装程序 使用CMake管理库 打包调试版和发行版

本篇文章不是新手入门教学文章&#xff0c;主要是记录笔者个人的学习笔记 CMake入门&#xff08;五&#xff09; 一、打包二、使用CMake管理库三、打包调试版和发行版 一、打包 发布程序可以有多种形式&#xff0c;比如安装包、压缩包、源文件等。CMake也提供了打包程序cpack可…