In Streamlit ist die Navigation zwischen Seiten eine leistungsstarke Funktion zum Erstellen dynamischer mehrseitiger Anwendungen. In diesem Tutorial wird die Seitennavigation in Streamlit unter Verwendung der neuen Methoden st.navigation
, st.page_link
und st.switch_page
erläutert, um ein nahtloses Benutzererlebnis zu schaffen.
Streamlit wurde ursprünglich nicht als mehrseitiges Anwendungsframework entwickelt. Im Laufe der Weiterentwicklung führte das Streamlit-Team jedoch Funktionen zur Unterstützung mehrseitiger Anwendungen ein. Diese Funktionen vereinfachen die Navigation und bieten anpassbare Optionen für dynamische Webanwendungen.
In diesem Tutorial folgt unsere Projektstruktur dem folgenden Layout:
<code>project/ │ ├── app.py # 主应用程序文件 ├── app_pages/ │ ├── intro.py │ ├── navigation_intro.py │ ├── page_link_demo.py │ ├── switch_page_demo.py </code>
app_pages
Jede Datei im Verzeichnis stellt eine einzelne Seite in der Anwendung dar.
Beginnen wir mit der Definition der Seite in app.py
. Diese Datei verwendet st.navigation
, um das Navigationsmenü einzurichten.
<code class="language-python"># app.py import streamlit as st # 页面导航 pages = [ st.Page("app_pages/intro.py", title="简介", icon="?"), st.Page("app_pages/navigation_intro.py", title="st.navigation", icon="?"), st.Page("app_pages/page_link_demo.py", title="st.page_link", icon="?"), st.Page("app_pages/switch_page_demo.py", title="st.switch_page", icon="?"), ] # 将页面添加到侧边栏导航 pg = st.navigation(pages, position="sidebar", expanded=True) # 运行应用程序 pg.run() </code>
Mit dieser Einstellung wird die Seitenleistennavigation automatisch generiert, um die angegebene Seite und ihr Symbol anzuzeigen.
intro.py
-Datei wird als Startseite verwendet.
<code class="language-python"># app_pages/intro.py import streamlit as st def intro(): st.title("Streamlit 页面导航教程") st.write("欢迎来到本Streamlit页面导航教程!") st.write("使用侧边栏在不同页面之间导航。") if __name__ == "__page__": intro() </code>
Wenn Benutzer diese Seite besuchen, sehen sie eine Einführung in die Anwendung und Anweisungen zur Navigation.
navigation_intro.py
-Dokument erläutert die Verwendung von st.navigation
.
<code class="language-python"># app_pages/navigation_intro.py import streamlit as st def navigation_intro(): st.title("st.navigation简介") st.write("`st.navigation`函数配置多页面Streamlit应用程序。") st.code(""" pages = [ st.Page("app_pages/intro.py", title="简介", icon="?"), st.Page("app_pages/page1.py", title="页面1", icon="1️⃣"), st.Page("app_pages/page2.py", title="页面2", icon="2️⃣"), ] pg = st.navigation(pages) pg.run() """, language="python") st.write("这将创建一个侧边栏菜单,其中包含`pages`列表中指定的页面。") if __name__ == "__page__": navigation_intro() </code>
Die page_link_demo.py
-Datei zeigt Links zwischen internen und externen Seiten.
<code class="language-python"># app_pages/page_link_demo.py import streamlit as st def page_link(): st.title("使用st.page_link") st.page_link("app_pages/intro.py", label="跳转到简介", icon="?") st.page_link("app_pages/page_link_demo.py", label="刷新本页", icon="?") st.page_link("https://www.streamlit.io/", label="访问Streamlit", icon="?") if __name__ == "__page__": page_link() </code>
Mit dieser Methode können Benutzer innerhalb der Anwendung navigieren oder zu externen Ressourcen springen.
switch_page_demo.py
Dokument, das den programmgesteuerten Seitenwechsel demonstriert.
<code class="language-python"># app_pages/switch_page_demo.py import streamlit as st def switch_page(): st.title("使用st.switch_page") st.write("`st.switch_page`允许您以编程方式切换页面。") st.code(""" if st.button("跳转到简介"): st.switch_page("app_pages/intro.py") """, language="python") if st.button("跳转到简介"): st.switch_page("app_pages/intro.py") if __name__ == "__page__": switch_page() </code>
Diese Methode entkoppelt die Navigation von der Seitenleiste und bietet so mehr Kontrolle darüber, wann und wie Benutzer die Seiten wechseln.
Die Navigationsfunktionen von Streamlit erleichtern die Erstellung benutzerfreundlicher mehrseitiger Anwendungen. Mit st.navigation
, st.page_link
und st.switch_page
können Sie ein intuitives und dynamisches Navigationserlebnis schaffen.
? Holen Sie sich den Code: GitHub - jamesbmour/blog_tutorials
?Zugehöriges Streamlit-Tutorial: JustCodeIt
?Unterstützen Sie meine Arbeit: Buy Me a Coffee
Das obige ist der detaillierte Inhalt vonVereinfachte Streamlit-Seitennavigation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!