为多页面应用中的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或图标,显示在页面标题和标签旁边。 如果icon是None(默认值),导航菜单中的页面标签旁边不会显示图标,浏览器标签中的标题旁边会显示一个Streamlit图标。如果icon是一个字符串,以下选项是有效的:
|
url_path (str or None) | 页面的URL路径名,即相对于应用程序根URL的路径。如果这是None(默认值),URL路径名将从page中的文件名或可调用名称推断。有关更多信息,请参阅多页应用程序概述。 默认页面的路径名为"",表示应用程序的根URL。如果您设置default=True,则忽略url_path。url_path不能包含正斜杠;路径不能包含子目录。 |
default (bool) | 此页面是否为应用加载时显示的默认页面。如果default为False(默认值),页面将具有非空的URL路径名。但是,如果没有默认页面传递给st.navigation并且这是第一个页面,此页面将成为默认页面。如果default为True,则页面将具有空的路径名,并且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()
| 类描述[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() |
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。