ホームページ >バックエンド開発 >Python チュートリアル >Streamlit のパーツ ページ ナビゲーションの簡素化
Streamlit では、ページ間のナビゲーションは、動的なマルチページ アプリケーションを構築するための強力な機能です。このチュートリアルでは、新しい 、、st.navigation
メソッドを使用して、Streamlit の st.page_link
ページ ナビゲーションst.switch_page
を探索して、シームレスなユーザー エクスペリエンスを作成します。
Streamlit は、もともとマルチページ アプリケーション フレームワークとして構築されたものではありません。ただし、進化するにつれて、Streamlit チームはマルチページ アプリケーションをサポートする機能を導入しました。これらの機能によりナビゲーションが簡素化され、動的 Web アプリケーションにカスタマイズ可能なオプションが提供されます。
このチュートリアルでは、プロジェクト構造は次のレイアウトに従います:
<code>project/ │ ├── app.py # 主应用程序文件 ├── app_pages/ │ ├── intro.py │ ├── navigation_intro.py │ ├── page_link_demo.py │ ├── switch_page_demo.py </code>
app_pages
ディレクトリ内の各ファイルは、アプリケーション内の個々のページを表します。
app.py
でページを定義することから始めましょう。このファイルは st.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>
この設定では、指定したページとそのアイコンを表示するサイドバー ナビゲーションが自動的に生成されます。
intro.py
ファイルはホームページとして使用されます。
<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>
ユーザーがこのページにアクセスすると、アプリケーションの概要と操作方法の説明が表示されます。
navigation_intro.py
ドキュメントでは、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>
page_link_demo.py
ファイルは、内部ページと外部ページ間のリンクを示します。
<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>
このメソッドを使用すると、ユーザーはアプリケーション内を移動したり、外部リソースにジャンプしたりできます。
switch_page_demo.py
プログラムによるページの切り替えを説明するドキュメント。
<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>
このメソッドはナビゲーションをサイドバーから切り離し、ユーザーがページを切り替えるタイミングと方法をより詳細に制御できるようにします。
Streamlit のナビゲーション機能を使用すると、使いやすいマルチページ アプリケーションを簡単に構築できます。 st.navigation
、st.page_link
、st.switch_page
を使用すると、直感的で動的なナビゲーション エクスペリエンスを作成できます。
コードを取得します: GitHub - jamesbmour/blog_tutorials
?関連する Streamlit チュートリアル: JustCodeIt
?私の仕事をサポートしてください: コーヒーを買ってください
以上がStreamlit のパーツ ページ ナビゲーションの簡素化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。