为多页面应用中的st.navigation配置一个页面。

调用 st.Page 来初始化一个 StreamlitPage 对象,并将其传递给 st.navigation 以在您的应用程序中声明一个页面。

当用户导航到一个页面时,st.navigation 返回选中的 StreamlitPage 对象。在返回的 StreamlitPage 对象上调用 .run() 来执行该页面。你只能运行由 st.navigation 返回的页面,并且每次应用重新运行时只能运行一次。

一个页面可以通过一个Python文件或Callable来定义。用作StreamlitPage源的Python文件将具有__name__ == "__page__"。用作StreamlitPage源的函数将具有__name__,对应于它们被导入的模块。只有入口点文件和入口点文件中定义的函数具有__name__ == "__main__",以遵循Python的惯例。

函数签名[source]

st.Page(page, *, title=None, icon=None, url_path=None, default=False)

参数

page (str, Path, or callable)

页面源作为Callable或Python文件的路径。如果页面源由Python文件定义,路径可以是字符串或pathlib.Path对象。路径可以是绝对路径或相对于入口文件的路径。如果页面源由Callable定义,Callable不能接受参数。

title (str or None)

页面的标题。如果这是None(默认值),页面标题(在浏览器标签中)和标签(在导航菜单中)将从page中的文件名或可调用名称推断。更多信息,请参见多页面应用概述

icon (str or None)

一个可选的emoji或图标,显示在页面标题和标签旁边。 如果iconNone(默认值),导航菜单中的页面标签旁边不会显示图标,浏览器标签中的标题旁边会显示一个Streamlit图标。如果icon是一个字符串,以下选项是有效的:

  • 一个单字符的emoji。例如,你可以设置icon="🚨"

    icon="🔥"。不支持emoji短代码。

  • 来自Material Symbols库(圆角风格)的图标,格式为

    ":material/icon_name:",其中"icon_name"是图标名称的蛇形命名。

    例如,icon=":material/thumb_up:"将显示Thumb Up图标。在Material Symbols字体库中查找更多图标。

url_path (str or None)

页面的URL路径名,即相对于应用程序根URL的路径。如果这是None(默认值),URL路径名将从page中的文件名或可调用名称推断。有关更多信息,请参阅多页应用程序概述

默认页面的路径名为"",表示应用程序的根URL。如果您设置default=True,则忽略url_pathurl_path不能包含正斜杠;路径不能包含子目录。

default (bool)

此页面是否为应用加载时显示的默认页面。如果defaultFalse(默认值),页面将具有非空的URL路径名。但是,如果没有默认页面传递给st.navigation并且这是第一个页面,此页面将成为默认页面。如果defaultTrue,则页面将具有空的路径名,并且url_path将被忽略。

返回

(StreamlitPage)

与给定脚本关联的页面对象。

示例

import streamlit as st

def page2():
    st.title("Second page")

pg = st.navigation([
    st.Page("page1.py", title="First page", icon="🔥"),
    st.Page(page2, title="Second page", icon=":material/favorite:"),
])
pg.run()

多页Streamlit应用程序中的一个页面。

使用st.Page来初始化一个StreamlitPage对象。

类描述[source]

StreamlitPage(page, *, title=None, icon=None, url_path=None, default=False)

方法

run()

执行页面。

属性

icon (str)

页面的图标。

如果在st.Page中没有声明图标,此属性返回""

title (str)

页面的标题。

除非在st.Page中另有声明,否则页面标题是从文件名或可调用名称推断出来的。更多信息,请参见多页面应用概述

url_path (str)

页面的URL路径名,即相对于应用程序根URL的路径。

除非在st.Page中另有声明,否则URL路径名是从文件名或可调用名称推断出来的。更多信息,请参见多页面应用概述

默认页面的url_path始终为"",表示根URL(例如主页)。

执行页面。

当页面由st.navigation返回时,使用.run()方法 在你的入口文件中渲染页面。你只能在由st.navigation返回的页面上调用此 方法。你只能在每次运行入口文件时调用 此方法一次。

函数签名[source]

StreamlitPage.run()

forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。