> 백엔드 개발 > 파이썬 튜토리얼 > 간소화된 부품 페이지 탐색 간소화

간소화된 부품 페이지 탐색 간소화

DDD
풀어 주다: 2025-01-09 20:10:45
원래의
258명이 탐색했습니다.

Streamlit Part  Page Navigation Simplified

Streamlit에서 페이지 간 탐색은 동적 다중 페이지 애플리케이션을 구축하기 위한 강력한 기능입니다. 이 튜토리얼에서는 원활한 사용자 경험을 만들기 위해 새로운 , st.navigation 메서드를 사용하여 Streamlit의 st.page_link페이지 탐색st.switch_page을 살펴봅니다.


다중 페이지 애플리케이션을 선택하는 이유는 무엇인가요?

Streamlit은 원래 다중 페이지 애플리케이션 프레임워크로 구축되지 않았습니다. 그러나 발전하면서 Streamlit 팀은 다중 페이지 애플리케이션을 지원하는 기능을 도입했습니다. 이러한 기능은 탐색을 단순화하고 동적 웹 애플리케이션에 대한 사용자 정의 가능한 옵션을 제공합니다.


프로젝트 구조 설정

이 튜토리얼에서 프로젝트 구조는 다음 레이아웃을 따릅니다.

<code>project/
│
├── app.py  # 主应用程序文件
├── app_pages/
│   ├── intro.py
│   ├── navigation_intro.py
│   ├── page_link_demo.py
│   ├── switch_page_demo.py
</code>
로그인 후 복사

app_pages디렉터리의 각 파일은 애플리케이션의 개별 페이지를 나타냅니다.


탐색 구현: app.py

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>
로그인 후 복사

이 설정을 사용하면 사이드바 탐색이 자동으로 생성되어 지정된 페이지와 해당 아이콘이 표시됩니다.


1페이지: 소개

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>
로그인 후 복사

사용자가 이 페이지를 방문하면 애플리케이션 소개와 탐색 방법에 대한 지침이 표시됩니다.


2페이지: st.navigation에 대해 알아보기

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>
로그인 후 복사

페이지 3: st.page_link 사용

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>
로그인 후 복사

이 방법을 사용하면 사용자는 애플리케이션 내에서 탐색하거나 외부 리소스로 이동할 수 있습니다.


페이지 4: st.switch_page를 사용한 프로그래밍 방식 탐색

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
?내 작업을 지원하세요: 커피 사주세요

위 내용은 간소화된 부품 페이지 탐색 간소화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿