웹 개발 입문
이미지와 파일 업로드여러 페이지로 나누기페이지 이동과 링크느린 앱을 빠르게기다림을 보여주기페이지 설정·테마와 비밀값
놀면 뭐 하니,
그냥 하는거야.

페이지 이동과 링크

코딩냥

지난 시간엔 페이지를 나눴지? 그런데 사이드바 메뉴 말고, 본문 안의 버튼이나 링크로도 페이지를 오가게 하고 싶을 때가 있다냥. "다음 페이지 →" 버튼 같은 거 말이다냥. 오늘은 그걸 배워보자냥!

오늘의 학습 목표

  • st.page_link 로 본문에 페이지 링크를 넣는다.
  • 외부 사이트로 가는 링크 버튼을 만든다.
  • st.navigation 으로 메뉴를 직접 구성하는 법을 안다.
실습 준비·필요한 패키지와 버전
  • streamlit1.40 이상파이썬 코드로 웹 화면 만들기

설치하기 — 터미널에 그대로 붙여넣기

pip install "streamlit>=1.40"

설치 확인 — 버전 번호가 찍히면 성공

python -c "import streamlit; print(streamlit.__version__)"

위 버전은 최소 기준이라, 더 높은 버전이 깔려 있으면 그대로 써도 된다냥. 버전이 안 찍히고 에러가 나면 설치가 안 된 거라 설치 명령을 다시 실행해보자냥.

1단계 · 본문 속 페이지 링크 — page_link

코딩냥

st.page_link 는 화면 아무 데나 놓을 수 있는 페이지로 가는 링크라냥. 사이드바가 아니라 본문 한가운데에 "메뉴 보러 가기" 같은 링크를 넣을 수 있다냥.

import streamlit as st

st.title("환영한다냥")
st.write("어디로 갈지 골라보자냥")

st.page_link("pages/1_소개.py", label="소개 보기")
st.page_link("pages/2_메뉴.py", label="메뉴 보기")

label 은 링크에 보이는 글자라냥

label="소개 보기" 가 화면에 보이는 링크 글자다냥. icon 을 주면 작은 아이콘도 붙일 수 있다냥. 안내 화면(홈)에서 다른 페이지로 안내할 때 딱이다냥!

2단계 · 외부 사이트 링크

코딩냥

내 페이지뿐 아니라 바깥 사이트로 가는 링크도 만들 수 있다냥. 주소를 그대로 넣으면 된다냥.

import streamlit as st

st.page_link("https://streamlit.io", label="Streamlit 공식 사이트")

st.link_button("유튜브로 가기", "https://youtube.com")

page_link vs link_button

  • st.page_link : 링크 글자 모양
  • st.link_button : 눌리는 버튼 모양

둘 다 하는 일은 비슷하다냥. 버튼처럼 보이게 하고 싶으면 link_button 을 쓴다냥!

3단계 · 메뉴를 직접 짜기 — navigation (심화)

코딩냥

24강의 pages 폴더 방식은 편하지만, 메뉴를 더 자유롭게 꾸미고 싶을 때가 있다냥. st.navigation 을 쓰면 어떤 페이지를 어떤 순서로 묶을지 직접 정할 수 있다냥. 조금 어려우니 가볍게 봐두자냥.

import streamlit as st

home = st.Page("home.py", title="홈")
about = st.Page("about.py", title="소개")
menu = st.Page("menu.py", title="메뉴")

nav = st.navigation([home, about, menu])
nav.run()

언제 navigation 을 쓰냥

  • 간단한 앱 → 24강의 pages 폴더로 충분하다냥.
  • 메뉴를 그룹으로 묶거나, 순서·이름을 세밀하게 정하고 싶을 때 → st.navigation 이 좋다냥.

지금은 pages 폴더 방식만 확실히 익혀도 충분하다냥. navigation 은 "이런 것도 있다" 정도로 기억해두자냥!

복습 퀴즈

Q1.본문 한가운데에 다른 페이지로 가는 링크를 넣는 함수는?
Q2.버튼 모양으로 외부 사이트에 연결하는 함수는?
Q3.메뉴를 직접 구성하고 싶을 때 쓰는 심화 도구는?
코딩냥

페이지를 자유롭게 오갈 수 있게 됐다냥! 다음 시간은 심화 강이라냥. 앱이 느려질 때 확 빠르게 만드는 마법, 캐시 를 배워본다냥.

26 / 33
이전5부 · 진짜 앱처럼 · 여러 페이지로 나누기다음5부 · 진짜 앱처럼 · 느린 앱을 빠르게