Maison > développement back-end > Tutoriel Python > Navigation simplifiée dans les pages de pièces

Navigation simplifiée dans les pages de pièces

DDD
Libérer: 2025-01-09 20:10:45
original
198 Les gens l'ont consulté

Streamlit Part  Page Navigation Simplified

Dans Streamlit, la navigation entre les pages est une fonctionnalité puissante pour créer des applications multipages dynamiques. Ce didacticiel explorera la navigation dans les pages dans Streamlit, en utilisant les nouvelles méthodes st.navigation, st.page_link et st.switch_page pour créer une expérience utilisateur transparente.


Pourquoi choisir une application multipage ?

Streamlit n'a pas été conçu à l'origine comme un cadre d'application multipage. Cependant, au fur et à mesure de son évolution, l'équipe Streamlit a introduit des fonctionnalités pour prendre en charge les applications multipages. Ces fonctionnalités simplifient la navigation et offrent des options personnalisables pour les applications Web dynamiques.


Paramètres de la structure du projet

Dans ce tutoriel, la structure de notre projet suit la disposition suivante :

<code>project/
│
├── app.py  # 主应用程序文件
├── app_pages/
│   ├── intro.py
│   ├── navigation_intro.py
│   ├── page_link_demo.py
│   ├── switch_page_demo.py
</code>
Copier après la connexion

app_pagesChaque fichier du répertoire représente une page individuelle de l'application.


Implémenter la navigation : app.py

Commençons par définir la page dans app.py. Ce fichier utilise st.navigation pour configurer le menu de navigation.

<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>
Copier après la connexion

Avec ce paramètre, la navigation dans la barre latérale sera automatiquement générée pour afficher la page spécifiée et son icône.


Page 1 : Introduction

Le fichier

intro.py est utilisé comme page d'accueil.

<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>
Copier après la connexion

Lorsque les utilisateurs visitent cette page, ils verront une introduction à l'application et des instructions sur la façon de naviguer.


Page 2 : En savoir plus sur st.navigation

Le document

navigation_intro.py explique comment utiliser 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>
Copier après la connexion

Page 3 : Utilisez st.page_link

Le fichier page_link_demo.py montre les liens entre les pages internes et externes.

<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>
Copier après la connexion

Cette méthode permet aux utilisateurs de naviguer dans l'application ou d'accéder à des ressources externes.


Page 4 : Navigation programmatique à l'aide de st.switch_page

switch_page_demo.pyDocument démontrant le changement de page par programmation.

<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>
Copier après la connexion

Cette méthode dissocie la navigation de la barre latérale, offrant ainsi plus de contrôle sur le moment et la manière dont les utilisateurs changent de page.


Conclusion

Les fonctionnalités de navigation de Streamlit facilitent la création d'applications multipages conviviales. En utilisant st.navigation, st.page_link et st.switch_page, vous pouvez créer une expérience de navigation intuitive et dynamique.


 ? Récupérer le code : GitHub - jamesbmour/blog_tutorials
?Tutoriel Streamlit associé : JustCodeIt
?Soutenez mon travail : Achetez-moi un café

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal