🕌

Streamlitでマルチページ試してみた

2023/04/23に公開

最近「30 Days of Streamlit」に挑戦していて、OCIのインスタンス上でStreamlitのアウトプットをしていたんですけど、1ページに全て記述するやり方がスマートじゃないので、何かいい方法がないかと調べたところ、なんと、Streamlitは「マルチページ」対応しているとのことを知りました!
早速触ってみました。

https://docs.streamlit.io/library/get-started/multipage-apps

作業用フォルダを作成する

mkdir streamlit_dir

メインとなるページを作成する

適当にmain.pyを作成します。

main.py
import streamlit as st

st.write('Hello world!')

同階層に「pages」というフォルダを索する

mkdir pages

pagesフォルダ以下にページごとのアプリケーションを作成する

Day〜ごとにページを分けて表示させたいので、フォルダ構成を以下のようにしています。

streamlit_dir/
├── main.py
└── pages
    ├── day10.py
    ├── day11.py
    ├── day12.py
    ├── day14.py
    ├── day15.py
    ├── day16.py
    ├── day17.py
    ├── day18.py
    ├── day19.py
    ├── day3.py
    ├── day5.py
    ├── day8.py
    └── day9.py

たったこれだけでマルチページとして表現できます。
実際にアクセスしてご覧ください。
http://datanalysis.electronic-88.com:8501/

Discussion