之前写过一篇关于用Streamlit创建多页Web应用的文章,但是好像官方已经支持多页应用了,所以就试了一下。

你过得怎么样?

到目前为止,我已经能够创建多页应用程序,但我需要一个技巧操作。

创建多页应用程序

官方文件因为有,所以我认为现在确认它们还为时过早。
以下是我的理解。

宪法

要创建一个多页面应用程序,您基本上只需将与页面对应的 python 文件。

在home对应的python文件同一目录下,创建pages目录,将python文件放在其下。似乎即使其他目录中有文件,它们也被忽略了。

- src
  |- home.py
  |- pages/
       |- page1.py
       |- page2.py

现在你可以看到home.py 是root 和page1page2 在侧边栏中。
↓ 页面的链接会这样固定显示在侧边栏中(下图中橙色包围的部分)。

Streamlitで複数ページのWebアプリを作る【2022年版】

侧边栏中显示的页面名称规则

对于显示规则和显示顺序规则官方文件是准确的,所以我希望你能在这里看到它。

文件名组件

似乎文件名分为以下配置的块。

{prefix}_{label}.py
  • 前缀:数字
  • 分隔符:_-,(空格)
  • 标签:不带前缀的字符串

请注意,没有必要拥有所有这三个元素。

显示顺序

  1. 如果有前缀,则按前缀(数字)排序
  2. 如果没有前缀则按标签排序
    • 即使标签部分有数字,也不是前缀,所以不按那个值排序

    显示页面名称

    去掉前缀,侧边栏显示标签部分。
    此时,分隔符转换为空格。

    e.g.         ファイル名    ->   表示名 
        [1_sample_1.py] -> [sample 1]
        [sample_1.py]   -> [sample 1]
    

    如果要以数字开头,可以添加前缀或添加分隔符,例如_

    e.g.      ファイル名     ->   表示名 
        [_1_sample.py]  -> [1 sample]
        [0_1_sample.py] -> [1 sample]
    

    像这样。

    实际尝试

    src 下面是流光文件。
    其他的和环境搭建有关,可以忽略。

    制成

    这是它的样子(它没有多大意义,但我试图可视化 Beta 和 Dirichlet 分布)。

    Streamlitで複数ページのWebアプリを作る【2022年版】

    只需放置文件即可创建多页应用程序。

    参考


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308627628.html

相关文章: