Streamlit (python构建web)之额外特性

目录

前言

1. 主题

1.1 主题设置方式一

1.2 主题设置方式二

2.页面

main_page.py

pages/page_2.py

pages/page_3.py

3.自定义组件

4.静态文件服务

5. 应用测试


前言

         本篇是对Streamlit额外特性的一些常用功能的简单介绍,对一些特性进行学习和记录

1. 主题

        Streamlit原生支持轻量级暗黑主题。Streamlit首先会检查查看应用的用户是否已由操作系统和浏览器设置了轻量或暗黑模式偏好。如果有,则使用该偏好。否则,默认应用轻量主题。

你也可以从 "⋮" → "设置" 更改当前主题。可以设置明暗主题,方便开发者和用户进行使用

更改主题

        其中在"设置"菜单中有一个主题编辑器,可通过点击 "编辑当前主题" 访问。你可以使用此编辑器尝试不同的颜色,并实时看到你的应用更新。

编辑主题

1.1 主题设置方式一

        当设置完主题后,可以通过在 [theme] 配置部分设置配置选项设置配置选项设置配置选项来保存主题。在你为应用定义了主题后,它将作为 "自定义主题" 出现在主题选择器中,并默认应用,而不是包含的轻量和暗黑主题(默认主题)。在定义主题时可用选项的更多详细信息可以在主题选项文档主题选项文档主题选项文档中找到。

        主题编辑菜单仅在本地开发中可用。如果你使用Streamlit社区云部署了应用,“编辑当前主题”按钮将不再出现在“设置”菜单中。

1.2 主题设置方式二

        不同主题颜色的方法是启用“保存时运行”选项,编辑你的config.toml文件,并观察你的应用重新运行时应用新主题颜色的过程。

2.页面

        随着应用变得庞大,将其组织成多个页面变得有用。这使得开发者更容易管理和用户更容易导航。Streamlit提供了一种无摩擦的方式来创建多页面应用。

        我们设计此功能,使得构建多页面应用就像构建单页面应用一样容易!只需向现有应用添加更多页面,具体步骤如下:

  1. 在包含主脚本的文件夹中,创建一个新的 pages 文件夹。假设你的主脚本名为 main_page.py
  2. 在 pages 文件夹中添加新的 .py 文件以向你的应用添加更多页面。
  3. 如常运行 streamlit run main_page.py

        就这样!main_page.py 脚本现在将对应于应用的主页面。并且你会在侧边栏页面选择器中看到 pages 文件夹中的其他脚本。页面按文件名列出(不带文件扩展名,忽略下划线)。例如:

main_page.py
 

import streamlit as st

st.markdown("# 主页面 🎈")
st.sidebar.markdown("# 主页面 🎈")

pages/page_2.py

import streamlit as st

st.markdown("# 页面 2 ❄️")
st.sidebar.markdown("# 页面 2 ❄️")

pages/page_3.py

import streamlit as st

st.markdown("# 页面 3 🎉")
st.sidebar.markdown("# 页面 3 🎉")

通过命令运行

streamlit run main_page.py 

将会出现多米面应用界面程序 

        可以在多页面应用多页面应用文档教你如何向应用添加页面,包括如何定义页面、构建和运行多页面应用以及在页面间导航。

3.自定义组件

        如果在Streamlit库中找不到合适的组件,可以通过自定义组件来扩展Streamlit的内置功能。在组件画廊中探索并浏览热门的、社区创建的组件。也可以使用Streamlit的组件API构建自己的自定义组件。

4.静态文件服务

        在Streamlit基础知识中,Streamlit运行一个客户端连接的服务器。这意味着应用的使用者无法直接访问应用本地的文件。大多数时候,这并不重要,因为Streamlit命令会为你处理。当你使用 st.image(<path-to-image>) 时,你的Streamlit服务器将访问文件并处理必要的托管,以便你的使用者可以看到它。然而,如果你想获得图像或文件的直接URL,你需要托管它。这需要设置正确的配置并将托管的文件放在名为 static 的目录中。例如,你的项目可能如下所示:

your-project/
├── static/
│   └── my_hosted-image.png
└── streamlit_app.py

5. 应用测试

        良好的开发习惯包括测试你的代码。自动化测试允许你更快地写出高质量的代码!Streamlit具有内置的测试框架,让你轻松构建测试。使用你最喜欢的测试框架运行你的测试。通常使用pytest。当进行测试Streamlit应用时,你模拟运行应用,声明用户输入,并检查结果。可以使用GitHub工作流自动化进行测试,并即时收到有关破坏性更改的警报。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XError_xiaoyu

你的支持,使我更好的创作

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值