Heim > Backend-Entwicklung > Python-Tutorial > Vereinfachte Streamlit-Seitennavigation

Vereinfachte Streamlit-Seitennavigation

DDD
Freigeben: 2025-01-09 20:10:45
Original
196 Leute haben es durchsucht

Streamlit Part  Page Navigation Simplified

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.


Warum eine mehrseitige Bewerbung wählen?

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.


Projektstruktureinstellungen

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>
Nach dem Login kopieren

app_pagesJede Datei im Verzeichnis stellt eine einzelne Seite in der Anwendung dar.


Navigation implementieren: app.py

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>
Nach dem Login kopieren

Mit dieser Einstellung wird die Seitenleistennavigation automatisch generiert, um die angegebene Seite und ihr Symbol anzuzeigen.


Seite 1: Einleitung

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>
Nach dem Login kopieren

Wenn Benutzer diese Seite besuchen, sehen sie eine Einführung in die Anwendung und Anweisungen zur Navigation.


Seite 2: Erfahren Sie mehr über st.navigation

Das

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>
Nach dem Login kopieren

Seite 3: Verwenden Sie st.page_link

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>
Nach dem Login kopieren

Mit dieser Methode können Benutzer innerhalb der Anwendung navigieren oder zu externen Ressourcen springen.


Seite 4: Programmatische Navigation mit st.switch_page

switch_page_demo.pyDokument, 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>
Nach dem Login kopieren

Diese Methode entkoppelt die Navigation von der Seitenleiste und bietet so mehr Kontrolle darüber, wann und wie Benutzer die Seiten wechseln.


Fazit

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage